软件工程的6个阶段
一,项目计划阶段。(也可以说是可行性分析阶段)
确定了一个软件以目前的条件可以完成,主要是经济,技术和社会条件,撰写可行性分析报告。需求方和开发方共同探讨项目中的问题的解决方案;需要的资金,人力,物力;社会方面的影响,例如是否符合法律等;对项目的进度和预期效益进行估计。
二,项目需求分析阶段。
对用户需求进行分析。将用户的需求用逻辑的软件工程语言表达出来,设计好功能和数据库模型,编写成软件需求设计书。这个阶段要注意的是行业的术语以及行业规则,开发的软件难免遇到不同行业,我们不是那个行业里面的人,所以对用户所在行业的需求分析的时候要正确理解他们的术语和规则。当需求得到用户确认后记得让用户签字。最后提醒一点,需求的变更在项目中很频繁,必须做好需求变更计划用以项目正常进行。
三,项目设计阶段。
概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。
详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。
概要设计阶段通常得到软件结构图。
详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代码等。
设计阶段可以编写测试用例了,测试人员应该对需求的理解比较深。
四,编码阶段。
为程序员分配好编码任务,将软件的设计具体为软件代码。这里注意的是编码语言,工具,环境和编码规范。统一,标准的编码规范可让程序可读和易维护。
五,软件测试阶段。
软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出
现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
测试,目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。
六,维护阶段。
对软件正式交付使用过程中出现的软件的bug进行修复,调整软件以适应正式环境,编写软件的维护报告。
传说中的------------------------------------------------------------------------------------------------------------------分割线
以上是我在搜索软件工程方面的资料时候简单的描述了软件工程的阶段。但是个人感觉很多项目在正式过程中只有四个阶段,即需求分析,软件设计,编码,测试,这是最重要的四个阶段。计划阶段和维护阶段没有,也不能说没有,只是这2个阶段应该说不明显。写这个资料目的一个温习下以前学的软件工程方面的东西,另外一个由于准备写点个人的东西所以准备下文档留备用。对于写文档我比较头痛,主要是没有这方面的经验,写的不多,感觉项目文档中很多东西有点鸡肋。希望各位有经验的老鸟能帮忙提点下有关这个方面的实践经验。
转自http://www.cnblogs.com/wattone/archive/2010/03/27/1666662.html博客园的一篇博客