软件开发过程学习笔记(一)之软件开发流程

原创 2015年07月08日 12:43:05

概述:软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。


开发流程

1.1 需求调研分析   
相关系统分析员和用户初步了解需求,然后用WORD列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。   
●系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。   
系统分析员和用户再次确认需求。

1.2 概要设计 
首先,开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计 进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、 运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。

1.3 详细设计 
在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实 现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。

1.4 编码   
在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。

1.5 测试   
测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。

1.6 软件交付准备 
在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。   

《用户安装手册》应详细介绍安装软件对运行环境的要求、安装软件的定义和内容、在客户端、服务器端及中间件的具体安装步骤、安装后的系统配置。   

《用户使用指南》应包括软件各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等方面的内容,在需要时还应举例说明。

1.7 验收   

用户验收。
以上就是基本的软件开发流程。

2 软件开发流程V模型

V模型大体可以划分为下面几个不同的阶段步骤,既需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试。    

需求分析:既你首先要明确客户需要的是什么,需要软件做成什么样子,需要有那几项功能,这一点上比较关键的是分析师和客户沟通时的理解能力与交互性。要求分析师能准确的把客户所需要达到的功能,实现方式,等表述出来,给出分析结果,写出规格文档说明书。
    概要设计:主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等项事务。
    详细设计:对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等,这一阶段要求达到伪代码级别,已经把程序的具体实现的功能,现象等描述出来。
    编码:按照祥细设计好的模块功能表,编程人员编写出实际的代码。
    单元测试:按照设定好的最小测试单元进行按单元测试,主要是测试程序代码,为的是确保各单元模块被正确的编译,单元的具体划分按不同的单位与不同的软件有不同,比如有具体到模块的测试,也有具体到类,函数的测试等。
    集成测试:经过了单元测试后,将各单元组合成完整的体系,主要测试各模块间组合后的功能实现情况,以及模块接口连接的成功与否,数据传递的正确性等。是软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。
   系统测试:经过了单元测试和集成测试以后,我们要把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞等。
   验收测试:主要就是用户在拿到软件的时候,会根据前边所提到的需求,以及规格说明书来做相应测试,以确定软件达到符合效果的。

1 软件开发过程及输出


版权声明:本文为博主原创文章,未经博主允许不得转载。

软件开发过程学习笔记(五)之测试方案模板

1 概述 1.1 目的 本项目的软件系统测试目的是验证xx是否满足软件需求说明书的全部内容。 本文档通过详细说明测试范围、内容、方案和实现环境等,为后续的软件系统测试提供指导。并通过提供软件需求说明...

软件开发过程学习笔记(二)之软件需求模板

1.引言 1.1    编写目的 · 阐明开发本软件的目的; 1.2    项目背景 · 标识待开发软件产品的名称、代码; · 列出本项目的任务提出者、项目负责人、系统分析员、系统设计员、程...

软件开发过程及几个常见的开发模型(软件工程学习笔记)

本文为《Software Engineering: A Practitioner's Approach》(sixth Edition)一书的阅读笔记。 Q0: What is Softwar...
  • bon27
  • bon27
  • 2012年09月30日 22:14
  • 502

敏捷软件开发学习笔记<一>

敏捷设计:敏捷设计是一个过程,不是一个事件,它是一个持续的应用原则、模式以及实践来改进软件的结构和可读性的过程,它致力于保持系统设计在任何实践都尽可能得简单,干净,及富有表现力; 也可以理解为:在敏...
  • world6
  • world6
  • 2017年06月08日 17:04
  • 190

《敏捷软件开发》学习笔记:敏捷设计原则

遵循敏捷实践去发现问题;应用设计原则去诊断问题;应用适当的设计模式去解决问题。 软件开发这三个方面件的相互作用就是设计。 ...
  • Idleman
  • Idleman
  • 2011年03月05日 22:02
  • 456

Java学习笔记(十八)软件开发、Ant及重构

软件开发流程: 1、可行性分析 2、需求分析->开发测试 3、概要设计->分隔模块,定义框架等 4、详细设计->类设计、接口设计 5、编码 6、测试 7、部署 8、维护 单元测试...

UWP: Win10 软件开发之学习笔记(2017.5.11更新)

现代操作系统应用开发以下是我个人的学习笔记,欢迎大家提出疑问,我们一起探讨。github1.XAML XAML只是特定格式的XML,它遵循所有XML的规则。XML的使用者就是将我们的代码变成windo...
  • linwh8
  • linwh8
  • 2017年03月22日 20:02
  • 1022

《敏捷软件开发》学习笔记(三)

学习介绍了空对象模式,单例模式和单态模式,模板方法模式和策略模式,外观模式和中介者模式,以及命令模式。...
  • e5Max
  • e5Max
  • 2015年01月25日 13:06
  • 620

快速软件开发 学习笔记 之六

快速软件开发 学习笔记 之六 第9章 Customer-oriented Development(面向客户软件开发) Customer(“客户”)这个词,是指花钱购买拟开发软件产品的人或负...
  • ilvu999
  • ilvu999
  • 2012年11月25日 19:12
  • 412

【IOS移动开发技术】iOS软件开发中关于屏幕旋转处理相关的学习笔记

一、两种orientation 了解屏幕旋转首先需要区分两种orientation 1、device orientation 设备的物理方向,由类型UIDeviceOrientation表示,当...
  • ourpush
  • ourpush
  • 2016年08月14日 09:37
  • 265
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件开发过程学习笔记(一)之软件开发流程
举报原因:
原因补充:

(最多只允许输入30个字)