🔎这里是【系统架构师学习记录】,关注我学习架构不迷路
👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️
👀专栏介绍
【系统架构师学习记录】 备考2022下半年系统架构师,记录学习过程。
传统的软件生命周期是指软件产品从形成概念开始,经过定义、开发,使用和維护,直到最后被弃用(不能再使用)为止的全过程。按照传统得软件生命周期方法学,可以把软件生命周期划分为软件定义、软件开发、软件运行和维护三个阶段。
1.软件定义时期
软件定义包括可行性研究和详细需求分析过程,任务是确定软件开发工程必级完成的总目标。具休可分成问题定义、可行性研究、需求分析等。
- 问题定义。问题定义是人们常说的软件的目标系统是“什么”,系统的定位以及范围等。也就是要按照软件系统工程需求来确定问题空间的性质(说明是一种什么性质的系统)。
- 可行性研究。软件系统的可行性研究包括技术可行性、经济可行性、操作可行性和社会可行性等,确定问题是否有解,解决办法是否可行。
- 需求分析。需求分析的任务是确定软什系统的功能需求、性能需求和运行环境的约束,写出软件秀求规格说明书、软什系统测试大纲、用户手册概要。功能需求是软件必领完成的功能:性能需求是软件的安全性、可靠性、可维护性、结果的精度、容错性(出错处理)、响应速度和适应性等:运行环境是软件必须满足运行环境的要求,包括硬件和软件平台。
需求分析是重要的,然而又是困难的。作为开发者,要充分理解用户的需求,并以书面化式写出规格说明书,这是以后软件设计和验收的依据:因难的地方是,由于软件系统的复杂性,作为用户也许很难一次性说清楚系统应该做什么。因此,需求分析也就十分艰巨,它要完成大量的工作。
需求分析过程应该由系统分析员、软件开发人员与用户共同完成,反复讨论和协商,并且还步细化、一致化、完全化等,直至建立一个完整的分析模型。需求分析工作完成后要提交软件需求规格说明 (Software Requirements Specification, SRS)。内容可以有系统(或子系统)名称、功能描述、接口、基本数据结构、性能、设计需求、开发标准、验收原则等,
2. 软件开发时期
- 软件开发时期就是软件的设计与实现,可分成概要 (总体)设计、详细设计、编码、测试等。
- 概要设计是在软件需求规格说明的基础上,建立系统的,总体结构(含子系统的划分) 和模块间的关系,定义功能模块及各功能模块之间的关系。
- 详细设计对概要设计产生的功能模块逐步细化,把模块内部细节转化为可编程的程序过程性描述。详细设计包括算法与数据结构、数据分布、数据组织、模块间接口信息 和用户界面等的设计,并写出详细设计报告。
- 编码又称编程,编码的任务是把详细设计转化为能在计算机上运行的程序。测试可分成单元测试、集成测试、确认测试和系统测试等。通常把编码和测试称为系统的实现。
3.软件运行和维护
- 软件运行就是把软件产品移交给用户使用。软件投入运行后的主要任务是使软件持 久满足用户的要求。
- 软件维护是对软件产品进行修改或对软件需求变化做出响应的过程,也就是尽可能 地延长软件的寿命。
- 当软件己没有维护的价值时,宣告退役,软件生命随之宣告结束。