wzyws
软件开发过程的5个阶段
软件开发过程分为5个阶段:
分析
软件需求分析
就是对开发什么样的软件的一个系统的分析与设想。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用
软件
工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的
逻辑模型
,编写需求规格说明书文档并最终得到用户的认可。
需求分析
的主要方法有
结构化分析方法
、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的
软件系统
的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件
概要设计
和
详细设计说明书
,数据库或数据结构设计说明书,组装
测试计划
。在任何软件或系统开发的初始阶段必须先完全掌握用户需求,以期能将紧随的系统开发过程中哪些功能应该落实、采取何种规格以及设定哪些限制优先加以定位。系统工程师最终将据此完成设计方案,在此基础上对随后的程序开发、系统功能和性能的描述及限制作出定义。
设计
软件设计
可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的
程序单元
。可以是一个
函数
、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用
软件结构图
表示。详细设计的首要任务就是设计模块的程序流程、算法和
数据结构
,次要任务就是设计数据库,常用方法还是
结构化程序设计方法
。
编码
软件编码是指把软件设计转换成
计算机
可以接受的程序,即写成以某一程序设计语言表示的"源程序清单"。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是
面向对象
的开发语言。而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。
测试
软件测试
的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的
测试用例
(测试数据与功能和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的
测试用例设计
方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的
逻辑结构
来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的
内部程序
逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。
维护
维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。
一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好
软件维护
工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。
在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。
:
分析
软件需求分析
就是对开发什么样的软件的一个系统的分析与设想。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用
软件
工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的
逻辑模型
,编写需求规格说明书文档并最终得到用户的认可。
需求分析
的主要方法有
结构化分析方法
、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的
软件系统
的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件
概要设计
和
详细设计说明书
,数据库或数据结构设计说明书,组装
测试计划
。在任何软件或系统开发的初始阶段必须先完全掌握用户需求,以期能将紧随的系统开发过程中哪些功能应该落实、采取何种规格以及设定哪些限制优先加以定位。系统工程师最终将据此完成设计方案,在此基础上对随后的程序开发、系统功能和性能的描述及限制作出定义。
设计
软件设计
可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的
程序单元
。可以是一个
函数
、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用
软件结构图
表示。详细设计的首要任务就是设计模块的程序流程、算法和
数据结构
,次要任务就是设计数据库,常用方法还是
结构化程序设计方法
。
编码
软件编码是指把软件设计转换成
计算机
可以接受的程序,即写成以某一程序设计语言表示的"源程序清单"。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是
面向对象
的开发语言。而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。
测试
软件测试
的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的
测试用例
(测试数据与功能和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的
测试用例设计
方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的
逻辑结构
来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的
内部程序
逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。
维护
维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。
一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好
软件维护
工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。
在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。 以上由长沙软件开发编辑整理于网络,如想获知更多信息请访问
www.sjin.cn
武汉SEO
www.quliangwen.org.cn
posted on 2012-05-25 11:45
迂回鱼
阅读(2416)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
My Links
BlogJava
首页
联系
聚合
管理
Blog Stats
Posts - 31
Stories - 11
Comments - 2
Trackbacks - 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔档案
2013年8月 (1)
2013年6月 (2)
2013年4月 (1)
2012年12月 (2)
2012年8月 (5)
2012年7月 (4)
2012年6月 (10)
2012年5月 (6)
文章档案
2012年11月 (2)
2012年8月 (2)
2012年7月 (1)
2012年6月 (4)
2012年5月 (2)
搜索
最新评论
1. 不错呢www.szltong.cn
不错吧 支持一下
--李先生
2. re: 转型数字媒体平台 亚马逊部署App团队
ds
--漂洋过海
阅读排行榜
1. 软件开发过程的5个阶段(2416)
2. 无法抗拒!3ds Max 2013重点新功能解析(735)
3. 什么是软件开发工具包(683)
4. ORACLE\SQLSERVER\MYSQL产品不同之处(z转载于时进网络)(528)
5. 转型数字媒体平台 亚马逊部署App团队(365)
评论排行榜
1. 转型数字媒体平台 亚马逊部署App团队(1)
2. 拥抱Java应用开发之美 让年薪30万照进现实(1)
3. 亚马逊游戏工作室招兵买马 或将入驻旧金山(0)
4. Java Web应用开发中的一些概念(0)
5. “好奇号”携激光器上火星 人类迈出巨大一步(0)
Powered by:
BlogJava
Copyright © 迂回鱼