软件的生命周期详细(转载)

1.软件立项与合同: 

a) 软件项目的来源一般有两个渠道,一是自主研发的“非订单软件”,二是为用户开发的“订单软件”。前者需要立项,后者需要签订合同。所以“立项”和“合同”是IT企业软件项目(或产品)的两个源头。一旦立项或者签订合同成功,企业领导或软件管理部门就要下达“任务书” 

b) 相关文档:《立项建议书》 《合同》、《任务书》 

c) 该步骤也可叫“项目可行性分析”,可行性分析是立项的前提,立项时可行性分析的结果。对于软件企业,一般不叫项目可行性分析,只有在学校、机关、科研所等单位,才叫项目可行性分析。

 

2.软件需求 

a) 需求分析的输入时软件《合同》或《立项建议书》,输出《用户需求报告》/《需求规格说明书》。从根本上讲,软件需求就是为了解决现实世界中的特定问题,软件必须展现的属性。软件需求的属性主要是可验证性、优先级和唯一性。 

b) 需求来源:系统目的、行业知识、软件设众、运行环境、组织环境; 

需求角色:用户、客户、市场分析人员、软件分析师 

c) 需求的描述工具 

实体-关系模型:明确描述应用系统的概念结构数据模型,E-R模型即是表达用户需求的工具,又是数据库概念设计的工具,在需求分析中又叫E-R模型,在数据库设计中叫做概念数据模型(CDM)。 

数据流图:先画出顶层数据流图,它高度的反应了系统的全貌,在注=逐层画出底层系统的数据流图,具体描述每个加工的处理过程和方法。描述符号主要有4种,数据源或数据谭,数据流动的连线,数据加工或处理泡,输入或输出文件。 

用例图:用于定义系统的行为、展示角色与用例之间的项目作用。 

活动图:用于描述系统行为,在需求阶段,可以配合用例图说明复杂的交互过程。

 

3.软件策划:软件策划的输入是《合同》或《立项建议书》,《任务书》,《用户需求报告》, 输出是《软件开发计划》。 

a) 应该包括质量保证计划,软件配置管理计划,测试计划、评审计划。要使策划工作十分准确是十分困难的事, 

b) 共分4个步骤, 

1.估计软件工作产品的规模、工作量、费用及所需的资源。 

2.制定时间表 

3.鉴别和评估风险 

4.与相关的组或人协商策划中的有关约定 

c) 编制工具:word+Project

 

4.软件设计 

a) 分《概要设计说明书》和《详细设计说明书》。前者注重框架上的设计,后者注重微观上和框架内的设计。 

b) 面向过程设计:1.流程图2.N-S图3.程序设计语言4.决策表 

c) 面向数据设计:以E-R模型为基础,按照一定的规则将概念数据模型(CDM)转换成能被某种数据库管理系统接受的物理数据模型(PDM)。 

d) 面向对象设计:UML

 

5.软件建模:三个模型:业务建模(对系统的业务流程的定义)、功能建模(描述系统功能)、 数据建模(对系统数据结构的定义) 

a) 功能建模和业务建模在需求分析时建模,数据模型在设计时建模。通常,数据模型建模用PD、ERWin等;功能模型用功能点列表或用例表示;业务建模用自然语言加上流程图或时序图表示。 

 

6.软件实现 

a) 宏观上,软件实现包括详细设计、编码实现、单元测试、和集成测试 

b) 微观上,软件实现指编程和单元测试

 

7.软件测试 

a) 测试中心或者测试部门是发现“不符合项”或错误的,却不能改正软件产品的错误,所以不能直接提高软件产品的质量 

b) 系统软件测试:发现bug,对应的测试报告为bug测试报告 

c) 应用软件测试:发现“不符合项”

8.软件发布与实施 

a) 软件产品分类: 

不需要客户化的软件产品: 系统软件 

只需要少量客户化工作的产品: 专业性特别强的应用软件产品 

需要重新做业务流程和需求规格定义的软件产品:分行业ERP 

b) 软件项目:为用户定制的软件系统,专用型强,通用性差

项目和产品的开发流程

  

 

9.软件维护:软件维护过程是软件开发过程的缩影。 

a) 可维护性:维护人员理解、掌握、修改被维护软件的难以程度。可维护软件应该具备以下4条性质: 

可理解性:软件功能模块化、结构化、代码风格化、文档清晰化 

可测试性:文档规范化、代码注视化、测试会规划 

可修改性:模块间低耦合、高内聚、程序块的单入口和单出口、数据局部化、 公用模块组建化 

可移植性 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/hblxwaz/p/1758911.html