软件的生命周期分为哪几个阶段

了解软件产品的开发流程
服务器君一共花费了2315.059 ms进行了6次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

软件立项与合同

  1. 软件项目的来源一般有两个渠道,一是自主研发的“非订单软件”,二是为用户开发的“订单软件”。前者需要立项,后者需要签订合同。所以“立项”和“合同”是IT企业软件项目(或产品)的两个源头。一旦立项或者签订合同成功,企业领导或软件管理部门就要下达“任务书”。
  2. 相关文档:《立项建议书》《合同》《任务书》。
  3. 该步骤也可叫“项目可行性分析”,可行性分析是立项的前提,立项时可行性分析的结果。对于软件企业,一般不叫项目可行性分析,只有在学校、机关、科研所等单位,才叫项目可行性分析。

软件需求

  1. 需求分析的输入时软件《合同》或《立项建议书》,输出《用户需求报告》/《需求规格说明书》。从根本上讲,软件需求就是为了解决现实世界中的特定问题,软件必须展现的属性。软件需求的属性主要是可验证性、优先级和唯一性。
  2. 需求来源:系统目的、行业知识、软件设众、运行环境、组织环境; 需求角色:用户、客户、市场分析人员、软件分析师。
  3. 需求的描述工具:
    • 实体-关系模型:明确描述应用系统的概念结构数据模型,E-R模型即是表达用户需求的工具,又是数据库概念设计的工具,在需求分析中又叫E-R模型,在数据库设计中叫做概念数据模型(CDM)。
    • 数据流图:先画出顶层数据流图,它高度的反应了系统的全貌,在注=逐层画出底层系统的数据流图,具体描述每个加工的处理过程和方法。描述符号主要有4种,数据源或数据谭,数据流动的连线,数据加工或处理泡,输入或输出文件。
    • 用例图:用于定义系统的行为、展示角色与用例之间的项目作用。
    • 活动图:用于描述系统行为,在需求阶段,可以配合用例图说明复杂的交互过程。

软件策划

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

  1. 应该包括质量保证计划,软件配置管理计划,测试计划、评审计划。要使策划工作十分准确是十分困难的事。
  2. 共分4个步骤:
    • 估计软件工作产品的规模、工作量、费用及所需的资源。
    • 制定时间表
    • 鉴别和评估风险
    • 与相关的组或人协商策划中的有关约定
  3. 编制工具:word+Project

软件设计

  1. 分《概要设计说明书》和《详细设计说明书》。前者注重框架上的设计,后者注重微观上和框架内的设计。
  2. 面向过程设计:1.流程图 2.N-S图 3.程序设计语言 4.决策表
  3. 面向数据设计:以E-R模型为基础,按照一定的规则将概念数据模型(CDM)转换成能被某种数据库管理系统接受的物理数据模型(PDM)。
  4. 面向对象设计:UML

软件建模

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

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

软件实现

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

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

软件测试

  1. 测试中心或者测试部门是发现“不符合项”或错误的,却不能改正软件产品的错误,所以不能直接提高软件产品的质量。
  2. 系统软件测试:发现bug,对应的测试报告为bug测试报告。
  3. 应用软件测试:发现“不符合项”。

软件发布与实施

  1. 软件产品分类:
    • 不需要客户化的软件产品: 系统软件。
    • 只需要少量客户化工作的产品: 专业性特别强的应用软件产品。
    • 需要重新做业务流程和需求规格定义的软件产品:分行业ERP。
  2. 软件项目:为用户定制的软件系统,专用型强,通用性差。

软件维护

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

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

  • 可理解性:软件功能模块化、结构化、代码风格化、文档清晰化。
  • 可测试性:文档规范化、代码注视化、测试会规划。
  • 可修改性:模块间低耦合、高内聚、程序块的单入口和单出口、数据局部化、 公用模块组建化。
  • 可移植性。

本文地址:http://www.nowamagic.net/librarys/veda/detail/571,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/571

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《UNIX环境高级编程(第2版)》 史蒂文斯 (作者), 拉戈 (作者), 尤晋元 (译者), 张亚英 (译者), 戚正伟 (译者)

《UNIX环境高级编程(第2版)》是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。

更多计算机宝库...