一、软件的生命周期

2018-08-01  本文已影响0人  Rannio

1.软件的基本概念:

        软件(software)是指一系列按照某种特定规则组织在一起,实现用户需求的计算机数据和指令的集合体。从狭义理解即运行在计算机、手机、手持设备等电子设备上的应用程序,都称为软件。从广义理解,软件不仅仅包含实现用户需求的源代码(计算机数据、指令),还包含与之相匹配的数据文档、支撑源代码运行的配置数据。三者构成一个完整的软件实体。

例如,一个地图软件,包含可执行程序、地图使用说明书、驱动数据包(不同地区的不同数据包)软件 = 程序 + 文档。

2.软件生命周期的各个阶段:

计划→需求分析→设计→编码→测试→运行→评价

软件生命周期(瀑布模型)

计划

确定软件开发总目标;

给出软件的功能、性能、可靠性以及接口等方面的设想;

研究完成该项目的可行性,探讨问题解决方案;

对可供开发使用的资源、成本、可取得的效益和开发进度作出估计;

制定完成开发任务的实施计划。

需求分析

        对开发的软件进行详细的定义,由需求分析人员和用户共同讨论决定,哪些需求是可以满足的,并且给予确切的描述,写出软件需求说明书SRS (Software Requirement  Specification)。

需求来源:

市场调研

    用户:市场调研人员

特点:自己想研发什么,自己就来研发。

客户要求

    用户:实际的客户

特点:别人想研发什么,我们帮着研发。

设计

设计是软件工程的技术核心,这个阶段需要完成设计说明书。

概要设计(HLD)

在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块。

详细设计(LLD)

对每个模块要完成的工作进行具体的描述。

编码

把软件设计转换成计算机可以接受的程序,即写成以某个程序设计语言表示的源程序清单,使用RDBMS工具建立数据库。

测试

测试是检验软件是否符合客户需求,达到质量要求,一般由独立的小组执行,测试工作分为:

单元测试:参照LLD,对每一个函数进行测试(白盒测试)

集成测试:参照HLD,对函数与函数的集成、模块与模块之间的集成进行测试(灰盒测试)

系统测试:参照SRS,对每一个功能、性能需求进行测试(黑盒测试)

运行与维护

        这个阶段将软件交付用户投入正式使用,以后便进入维护阶段,可能有多种原因需要对它进行修改,如软件错误、系统软件升级、增强软件功能、提高性能等。

3.常见的项目组结构

项目组结构

4.常见的项目组架构

管理团队

    项目经理

产品组 

    产品经理

软件开发组

    开发经理或开发组长、系统架构师、开发工程师、美工或UI设计

软件测试组

    测试经理或测试组长、测试架构师、测试人员(性能测试、功能测试、自动化测试)

配置管理组

    配置经理、CMO(配置管理员)

上一篇下一篇

猜你喜欢

热点阅读