软件开发的常规步骤解析

发表时间: 2023-08-23 13:30

一般的软件项目开发周期中,主要分为这几个阶段:

第一步:需求分析。此步骤主要是为了明确需求,列出功能点、界面要求,实现原型实用软件 :axure。需求评审(步骤各个公司的需求不太一样,根据实际需要调整即可)。
第二步:需求确定。此步骤主要是为了确认有哪些需求,形成需求说明书。
第三步:根据原型写出大致设计,理清实现逻辑,代码开发。此部分主要是完成数据库设计,代码开发,功能实现。
第四步:代码测试。此步骤主要是为了进行代码的调试和功能的测试。
第五步:形成版本。此部分就能够形成产出物,进行实际应用。
【备注】:以上步骤只是主要部分,还有一些等步骤各个公司的需求不太一样,根据实际需要调整即可。

项目开发周期

1、项目启动

  1)、项目组成立(公司成员、客户成员)

  2)、制定项目预期目标

  3)、制定项目计划周期

  4)、建立好项目组成员沟通机制

2、需求调研

  1)、创建调研计划、协调调研时间

  2)、收集客户资料,获取客户需求

  所有的资料都需要保留一份,资料中存疑的需要及时询问

  3)、编写需求文档

  重点描述出客户的业务流程和性能要求。

  采用Word、Excel、Rose等形式。

  4)、需求变更记录

  5)、确定开发环境和运行环境

  6)、扩展性要求

  7)、与旧系统的接驳要求。

  8)、估算出项目工作量

  本阶段需要一套需求管理系统来进行需求的管理。

  本阶段的需求文档也是用户测试的依据。

3、系统设计/详细设计

  一个系统可以分为基础平台和应用模块两部分。

  1)、选择基础平台,无论是采用第三方平台还是自行开发平台,都需要深入了解,查看是否符合要求。

  2)、应用模块设计(针对业务流程)。

  3)、中间件的采用或自行开发,需要深入了解。

  4)、用户界面的设计。

  如果用户界面设计完毕并确认,即可初步写出用户使用手册、管理员使用手册。

  5)、变更记录

  本阶段的系统设计是集成测试的依据。

4、程序开发

  创建开发任务计划表、开发计划日程表

  1)、优先编写测试用例

  2)、按照编码规范编写代码

  3)、按照文档注释规范注释

  以上形成开发文档。

  本阶段需要一套版本管理系统。

  本阶段的测试用例也是单元测试的依据。

  如果能做到,最好每日构建。

5、测试

  本阶段需要一套Bug管理系统,形成需求、设计、开发、测试互动。

  1)、编写测试计划和测试方案

  2)、功能测试

  单元测试、集成测试

  3)、性能测试

  集成测试、压力测试

  如果能做到,最好能进行自动化测试。

  如果能做到,做分析统计工作。

  最后形成测试报告。

6、试用、培训、维护

  本阶段需要解决:

  1)、解决异地修改和公司修改的同步问题。

  2)、用户测试中的Bug修改问题,按照级别分为

  a)、程序Bug

  b)、设计变更

  c)、需求变更

  尽量按照a b c的顺序来进行修改,尽量避免b、c级的修改。

  最后形成安装手册、维护记录。

 项目成员组成

  根据以上过程,一个项目组中,需要:

  1、需求工程师,其要求

  善于与客户沟通,能快速了解客户的需求,对客户所在的行业比较熟悉。

  善于学习新知识。

  熟悉Word、Excel、Rose等工具的使用。

  熟悉开发语言和开发框架

  熟悉已积累的产品的功能、性能等。

  2、系统分析师/设计师,其要求

  精通开发语言和开发框架,部分需要精通数据库

  精通已积累的产品的功能、性能等

  深入了解客户行业特点

  能根据客户的要求分析出其实质

  能做出优秀的设计

  熟悉Word、Excel、Rose等工具的使用

  3、开发工程师,其要求

  熟悉开发语言,熟悉开发要求和注释规范,部分需要熟悉数据库。

  熟悉单元测试。

  能根据设计做出良好的编码,保证功能和性能。

  部分需要有一定的设计要求,因为涉及到将来的维护。

  4、测试工程师,其要求

  熟悉测试工作,能按照测试计划进行测试。

  熟悉开发语言,能协助开发工程师找错。

  能独立完成黑、白盒测试。

  如果是高级测试人员,还要能够对系统能深入进行分析并能制定出优秀的测试方案。

  5、管理人员

  一般由以上人员兼任,主要有

  项目经理:负责整个项目

  开发经理:负责系统设计、开发工作

  测试经理:负责测试工作

  6、其他人员

  一些项目涉及到其他人员,如页面设计人员、页面制作人员。

  部分大的项目,还有专门的维护人员。

  由于目前国内很多公司并没有严格这么区分,如果项目小的话,可以一人兼任多项职位。