软件工程之三问

来源:互联网 发布:淘宝客服要交保证金么 编辑:程序博客网 时间:2024/06/11 09:46

题记:有目的的去学习,才会更有效率。

内容提纲:

一、什么是软件工程?

二、软件工程都有哪些阶段?

三、每阶段都产生那些文档?


一、什么是软件工程?

目前总共有三种大家比较认可的解释:

(1)运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料(设计与开发程序有关的文件资料)。

(2)开发、运行、维护和修复等一系列对软件的系统方法。

(3)建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。


二、软件工程都有哪些阶段?

(1)  项目需求分析阶段。

  对用户需求进行分析。将用户的需求用逻辑的软件工程语言表达出来,设计好功能和数据库模型,编写成软件需求设计书。这个阶段要注意的是行业的术语以及行业规则,开发的软件难免遇到不同行业,我们不是那个行业里面的人,所以对用户所在行业的需求分析的时候要正确理解他们的术语和规则。当需求得到用户确认后记得让用户签字。最后提醒一点,需求的变更在项目中很频繁,必须做好需求变更计划用以项目正常进行。

(2) 项目计划阶段。

  确定了一个软件以目前的条件可以完成,主要是经济,技术和社会条件,撰写可行性分析报告。需求方和开发方共同探讨项目中的问题的解决方案;需要的资金,人力,物力;社会方面的影响,例如是否符合法律等;对项目的进度和预期效益进行估计,如果可行,则进行开发、测试人员分配。


(3) 项目设计阶段。

  概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。

  详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。
  概要设计阶段通常得到软件结构图。
  详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代码等。


(4)编码阶段。

  将软件的设计具体为软件代码。这里注意的是编码语言,工具,环境和编码规范。统一,标准的编码规范可让程序可读和易维护。


(5)软件测试阶段。

  软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。

  附:测试,目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。


(6)维护阶段。

  对软件正式交付使用过程中出现的软件的bug进行修复,调整软件以适应正式环境,编写软件的维护报告。


三、每阶段产生的文档是什么?


需求分析阶段:《需求说明书》、《可行性分析报告》

计划阶段:《项目计划说明书》

设计阶段:《概要设计说明书》、《详细设计说明书》、《数据库设计说明书》、《数据说明书》、《用户手册》、《操作手册》、《测试计划书》、《项目开发计划书》

编码阶段:

测试阶段:《测试分析报告》


1

3 0
原创粉丝点击