目录
- 软件系统的开发阶段
- 总的描述
- 1.可行性讨论
- 2.系统需求分析
- 3.系统设计
- 4.程序开发
- 5.系统测试
- 6.文档资料
- 7.系统的运行与维护
软件系统的开发阶段
软件系统的开发是按阶段进行的,一般划分为以下阶段:
可行性讨论;需求分析;系统设计(概要设计、详细设计);程序开发;编码,单元测试;系统测试;系统维护。
总的描述
- 软件设计,一开始先是【需求分析】,由客户提出需求。
- 然后是一些【可行性的分析】,用户提出的需求合不合理,能不能实现,能够实现所需付出的成本多大,这些都是要讨论的。
- 当这些都完成后,提出一份【需求分析报告】
- 然后开始【概要设计】和【详细设计】,像包括使用什么语言,界面设计成什么样,有哪些数据,哪些功能等等。这些都需要在编码之前想好,一个大型的软件,如果没有详细的设计,一个完整的思路,是不能动手编码的,编码只会造成混乱。
- 然后,才是【编码】,用具体的语言来实现具体的功能。
- 然后,编成程序后,知道程序能不能用,合不合用户的需求,就需要进行【测试】,包括,单元测试,功能测试等等一系列的测试。
- 等测试完成后,就可以交付给用户,后面还可能牵涉到【日常维护】的问题。
1.可行性讨论
明确系统的目的、功能和要求,了解目前所具备的开发环境和条件,论证的内容有:
- 在技术能力上是否可以支持;
- 在经济上效益如何;
- 在法律上是否符合要求;
- 与部门、企业的经营和发展是否吻合;
- 系统投入运行后的维护有无保障。
可行性讨论的目的是判定软件系统的开发有无价值。
分析和讨论的内容形成系统开发计划书,主要内容有:
(1) 开发的目的及所期待的效果;
(2) 系统的基本设想,涉及的业务对象和范围;
(3) 开发进度表,开发组织结构;
(4) 开发、运行的费用;
(5) 预期的系统效益;
(6) 开发过程中可能遇到的问题及注意事项。
2.系统需求分析
系统需求分析是软件系统开发中最重要的一个阶段,直接决定着系统的开发质量和成败,必须明确用户的要求和应用现场环境的特点,了解系统应具有哪些功能、数据的流程和数据之间的联系。
需求分析应有用户参加,到使用现场进行调研学习,软件设计人员应虚心向技术人员和使用人员请教,共同讨论解决需求问题的方法,对调查结果进行分析,明确问题的所在。
需求分析的内容编写成系统需求分析报告。
3.系统设计
可根据系统的规模分成概要设计和详细设计两个阶段。
概要设计包括:
① 划分系统模块;
② 每个模块的功能确定;
③ 用户使用界面概要设计;
④ 输入输出数据的概要设计;
⑤ 报表概要设计;
⑥ 数据之间的联系、流程分析;
⑦ 文件和数据库表的逻辑设计;
⑧ 硬件、软件开发平台的确定;
⑨ 有规律数据的规范化及数据惟一性要求。
系统的详细设计是对系统的概要设计进一步具体化,其主要工作有:
① 文件和数据库的物理设计;
② 输入输出记录的方案设计;
③ 对各子系统的处理方式和处理内容进行细化设计;
④ 编制程序设计任务书。
程序说明书通常包括程序规范、功能说明、程序结构图,通常用HPIPO(Hierarchy Plus Input Process Output)图描述。
4.程序开发
根据程序设计任务书的要求,用计算机算法语言实现解题的步骤,主要工作包括:
① 模块的理解和进一步划分;
② 以模块为单位的逻辑设计,也就是模块内的流程图的编制;
③ 编写代码,用程序设计语言编制程序;
④ 进行模块内功能的测试、单元测试。
程序质量的要求包括:
① 满足要求的确切功能;
② 处理效率高;
③ 操作方便,用户界面友好;
④ 程序代码的可读性好,函数、变量标识符合规范;
⑤ 扩充性、维护性好。
降低程序的复杂性也是十分重要的。
系统的复杂性由模块间的接口数来衡量,一般地讲,n个模块的接口数的最大值为n(n-1)/2;若是层次结构,n个模块的接口数的最小值为n-1。
为使复杂性最小,对模块的划分设计常常采用层次结构。
要注意编制的程序或模块应容易理解、容易修改,模块应相互独立,对某一模块的修改应对其他模块的功能不产生影响,模块间的联系尽可能少。
5.系统测试
测试是为了发现程序中的错误,对于设计的软件,出现错误是难免的。
系统测试通常由经验丰富的设计人员设计测试方案和测试样品,并写出测试过程的详细报告。
系统测试是在单元测试的基础上进行的,包括:
① 测试方案的设计;
② 进行测试;
③ 写出测试报告;
④ 用户对测试结果进行评价。
6.文档资料
文档包括开发过程中的所有技术资料以及用户所需的文档,软件系统的文档一般可分为系统文档和用户文档两类。
用户文档主要描述系统功能和使用方法,并不考虑这些功能是怎样实现的;系统文档描述系统设计、实现和测试等方面的内容。
文档是影响软件可维护性、可用性的决定因素,有句话讲,系统编程人员的每一张纸片都要保留,所以文档的编制是软件开发过程中的一项重要工作。
系统文档包括:开发软件系统在
计划、需求分析、
设计、编制、
调试、运行
等阶段的有关文档。
在对软件系统进行修改时,系统文档应同步更新,并注明修改者和修改日期,如有必要应注明修改原因,应切记过时的文档是无用的文档。
用户文档包括:
① 系统功能描述;
② 安装文档,说明系统安装步骤以及系统的硬件配置方法;
③ 用户使用手册,说明使用软件系统方法和要求,疑难问题解答;
④ 参考手册,描述可以使用的所有系统设施,解释系统出错信息的含义及解决途径。
7.系统的运行与维护
系统只有投入运行后,才能进一步对系统检验,发现潜在的问题,为了适应环境的变化和用户要求的改变,可能会对系统的功能、使用界面进行修改。
要对每次发现的问题和修改内容建立系统维护文档,并使系统文档资料同步更新。