赞
踩
软件生命周期由软件定义、软件开发与运维(也称软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。
问题定义:“要解决的问题是什么?”通过对客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。
可行性研究:“对于上一个阶段所确定的问题有行得通的解决办法吗?”可行性研究的结果是客户做是否继续进行这项工程的决定的重要依据。
需求分析:“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。
总体设计:“概括地说,应该怎样实现目标系统?”总体设计又称为概要设计。
详细设计:“应该怎样具体地实现这个系统呢?”就是把解法具体化。总体设计阶段以比较抽象概括的方式提出了解决问题的办法。
编码和单元测试:这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。
综合测试:这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。
软件维护:维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。有四种维护:改正性维护;适应性维护;完善性维护;预防性维护。
特点:①阶段间具有顺序性和依赖性
②推迟实现的观点
③质量保证的观点
优点:①为项目提供了按阶段划分的检查点。
②当前一阶段完成后,您只需要去关注后续阶段。
③可在迭代模型中应用瀑布模型。
④它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
缺点:①各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
②由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
③通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
④瀑布模型的突出缺点是不适应用户需求的变化。
结构化分析模型的体系结构
分析模型
实体关系图:作为数据建模的基础,描述数据对象及其关系。
数据流图:作为功能建模的基础,描述数据怎样转换以及转换的功能。
状态转化图:作为行为建模的基础,表示系统的各种行为状态以及状态间的转换方式。
数据字典
数据字典描述数据流图的数据存储、数据加工(最底层加工)和数据流,他记录的主要内容有:基本信息;定义;使用特点;控制信息;其他说明。在数据字典中,数据元素的定义可以是基本元素及其组合,数据进行自低向下的分解,知到不需要进一步解释且参与人员都清楚其含义为止。数据组合有三种方式:顺序,选择,重复。
结构化分析过程
软件设计是开发阶段最重要的步骤,它是软件开发过程中质量得以保证的关键步骤。根据用数据、功能和行为模型表示软件的需求,采用某种设计方法进行数据设计、体系结构设计、接口设计和过程设计。
数据设计:主要来源于数据词典和实体关系图,数据设计将实体关系图中描述的对象和关系,以及数据字典中描述的详细数据内容转化为数据结构的定义。
体系结构设计:主要来源于数据流图,体系结构设计定义软件系统各主要成分之间的关系。
接口设计:主要来源于数据流图,接口设计根据数据流图定义软件内部各成分之间、软件与其他协调系统之间及软件与用户之间的交互机制。
过程设计:主要来源于状态转化图、控制规格说明及加工规格说明,过程设计是把结构成分转化成软件的过程性描述。
测试步骤:1.模块测试2.子系统测试3.系统测试4.验收测试5.平行运行
输入信息:软件配置和测试配置
单元测试
单元测试集中检测最小单元—模块;单元测试和编码属于软件过程的同一个阶段;可以应用人工测试和计算机测试这样两种不同类型的测试方法;单元测试主要使用白盒测试技术,对多个模块的测试可以并行地进行。
测试重点:模块接口;局部数据结构;重要的执行通路;出错处理通路;边界条件。
喷泉模型是的面向对象的软件过程模型之一。
迭代是软件开发过程中普遍存在的一种内在属性。经验表明,软件过程各个阶段之间的迭代或一个阶段内各个工作步骤之间的迭代,在面向对象范型中比在结构化范型中更常见。
“喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性。
喷泉模型的优点:喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
喷泉模型的缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。
OO = objects + classes + inheritance + communication with messages
面向对象 = 对象+类+继承+通信
面向对象的分析(0OA) 是软件生命周期的一个阶段,具有一般分析方法所共有的内容、目标及策略。也是使用面向对象的概念、原理、分析问题域、求解问题域的重要阶段。
00A基本任务是:
运用面向对象的方法,对问题域和系统责任进行分析和理解,找出描述问题域及系统责任所需的对象,定义对象的属性、服务以及它们之间的关系。目标是建立一个符合问题域、满足用户功能需求的00A模型
问题域:被开发系统的应用领域,记载现实世界中要由这个系统进行处理的业务范围。
系统责任:所开发的系统应该具备的职能。
00A特点1
00A采用的概念与问题域的事务保持了最大程度的一致,对象、对象的属性和操作的命名都强调与客观事务保持一致。
00A特点2
00A模型不考虑与系统的具体实现有关的因素例如采用什么编程语言、用户界面、数据库等,因此00A模型独立于具体的现实环境。00D则是针对系统的其体实现。
00A的目标是:
建立一个符合问题域、满足用户需求的00A模型。
用面向对象方法开发软件,通常建立3种形式的模型,分别是:
描述系统静态的对象模型(类图)
描述系统控制结构的动态模型
描述系统功能的功能模型
OOA过程
建立静态模型
描述系统的结构特征,类图。
建立动态模型
描述系统的动态行为特征,交互图、活动图和状态图。
建立功能模型
描述系统的功能的用力图。
写详细说明
三个模型的建立不需要按顺序,不分前后。
大多数系统的面向对象设计模型,在逻辑上由四大部分组成,这四大部分对应于组成目标系统的四个子系统,它们分别是问题子系统、人机交互子系统、任务管理子系统和数据管理子系统。
建模过程框图
建模过程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。