软件开发过程 整理

软件开发过程
项目管理
启动:确立一个项目或一个项目阶段。
规划:为完成项目,制定和维护一个可操作的计划。
执行:协调人力和其他资源以执行计划。
监控:通过监控和进度测量及必要时采取纠正措施以确保项目目标的实现。
收尾:正式验收项目或项目阶段并使其有条不紊地圆满结束。
需求分析
方案设计
总体设计
详细设计
程序设计
划分功能模块
划分子任务
测试与联调
单元测试
集成测试
系统测试
接受测试
培训交付
用户培训
交付

WBS工作分解结构--根据工作任务分解绘制
Gantt图--根据进度计划表绘制
人员:
总体组(系统分析师A、系统分析师B、软件设计师A、软件设计师B、软件设计师C)
软件开发组(编程员A、编程员B、编程员C、编程员D)
测试组(测试员A、测试员B、测试员C)

分工:
总体组负责需求分析以及方案设计、以及最后的用户培训、验收与交付;
软件开发组负责程序设计;
测试组负责测试与联调
工期:
1月1日至6月30日,6个月
人工费用:
系统分析师:500元/工时
软件设计师:300元/工时
测试员:250元/工时
编程员:200元/工时
各阶段大致花费时间:
需求设计:约30个工作日
方案设计:约35个工作日
程序设计:约40个工作日
测试与联调:约30个工作日
培训交付:约5个工作日

开发流程
软件计划
需求分析和定义-需求调研分析
●相关系统分析员和用户初步了解需求,然后用WORD列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。   
●系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。   
●系统分析员和用户再次确认需求。
软件设计
概要设计
首先,开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计 进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、 运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。
详细设计
在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实 现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。
软件实现--编码
在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。 
软件测试
测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。
软件运行维护
交付准备
在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。   《用户安装手册》应详细介绍安装软件对运行环境的要求、安装软件的定义和内容、在客户端、服务器端及中间件的具体安装步骤、安装后的系统配置。   《用户使用指南》应包括软件各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等方面的内容,在需要时还应举例说明。
验收

时间: 2024-10-10 16:35:17

软件开发过程 整理的相关文章

对日软件开发过程中的质量管理(转)

对日软件开发过程中的质量管理 ----记系统开发事业本部大连开发部质量管理活动系列之一   NECSI系统开发事业本部主要承接日本客户委托开发的软件项目,承担从功能设计(FD).详细设计(DD)到编码.测试等不同开发阶段的作业.今后我们计划将更多地参与前期工程设计,积极推进海外作业人员的派遣. 公司一直把质量管理/按期交货放在最重要的位置,各开发部长期把在按期交货的前提下加强质量控制问题作为业务活动的重要内容,贯穿于软件开发的过程中. 质量管理活动背景 开发人员对委托方提供的设计资料的理解程度直

软件开发过程中的审查 (Review)

http://blog.csdn.net/horkychen/article/details/5035769 软件开发过程中的审查 (Review) 希望别人做些什么->定义出流程 希望别人做出正确的结果->定义出审查制度 软件开发项目中包括很多的审查动作,贯穿于整个开发过程.个人认为审查主要有以下目的: 1.尽早排查出潜在的问题(Potential Risk/Issue) 经过其他人的参与,以不同的视角提出不同的看法,会有类似头脑风暴的效果,集思广议来查找工程师未能注意的问题. 2.保持良好

个人阅读作业2:结合《No Silver Bullet》谈谈我在软件开发过程的遇到的困难与体会

英文捉急,只能挑一段看得比较懂的,而且正好和我们现在编程任务联系比较紧密的内容来谈一谈体会. 在<No Silver Bullet>中,作者描述了造成软件本质性困难(essence)的四个原因: 1.复杂性(complexity): 首先我们来看一下作者对软件的定义,其大意是“软件的本质是对一连串相关的概念的构建”: The essence of a software entity is a construct of interlocking concepts: data sets, rela

软件开发过程中如何避免争吵?

软件开发过程中,对一个问题有不同意见是很正常的,不同思想的碰撞可以带来进步,但是如果沟通不当,引发争吵,从而延误项目开发进度,就会得不偿失了. 要做到避免争吵,首先得自我反思,自己是不是哪里做得不对,问题没考虑清楚.问题还没明白就去和别人争,就是你的不对了. 其次,要站在别人的角度先想一想问题.是不是PM有难言之隐,公司的压力过大,不能采纳我的建议? 设计师看问题的角度是不是和我不一样?我的代码编写是否规范,有没有给复审测试人员带来麻烦?项目有没有充分考虑并达到用户的需求?在和别人争论前,必须充

软件开发过程中要主要的问题

结合软件开发生命周期,软件开发过程中应注意的问题如下(个人愚见) 1)明确项目概况,即将项目定位,要结合需求和技术实现,对项目进行准确定位,制定合理的项目开发计划. 2)面对需求变化,需求变化是软件开发过程经常碰到的问题也是致命的问题,排除客户的问题,需求分析要做的足够好,需求分析做好后,最好要客户确认签字. 3)模块划分,把软件系统按照任务需求或者数据模型进行模块划分,提高系统开发进度. 4)编码规范,项目编写代码过程中要有详细的编码规范,如合理的程序文件结构(每个程序文件应由标题.内容.附加

UML图与软件开发过程那点关系

首先,软工文档, 软工文档,也就是计划,设计,描述,使用软件的一些文件,它最大的特点就是固定不变,用来给不同的人和计算机来阅读.在期间,文档起到了桥梁的作用,看这张图很形象: 在这里在看一下国家统一规定的13个文档的相关知识.先看一下文档的分类: 各个文档的内容: 1,可行性研究报告:说明该软件开发项目的实现在技术上.经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施的方案,说明并论证所选定实施方案的理由. 2, 项目开发计划:为软件项目实施方案制定出具体计划,应该包括

软件开发过程自动化原理及技术(完整示例)

软件开发过程自动化原理及技术 一个简单完整的自动化示例 1   概述 关于本文,最开始只是想写一些关于 软件自动化测试开发 的文章,但是后来写着写着,发现不先在宏观上的软件开发过程进行介绍,不会引起大家对 自动化 技术形成了解和重视.所以本文从软件工程宏观层次进行了介绍,并和传统的实现方法做了一些对比,并附了一些代码,让有兴趣的朋友对自动化的理念及具体的实现技术手段有一些初步的认识. 既然是要 自动化 那么肯定就是冲着 效率 来的.在正式开始系统化的自动化技术学习之前,先来一个完整的示例来有个对

软件开发过程中的一些感悟

工作快四年了,从事开发工作也有两三年了(头一两年从事设计工作),这期间有些感悟,写下来以备以后回过头来见证自己的成长. 对一个本科学的设计,毕业的时候对于计算机的知识了解甚少的人而言,靠着自学以及同事的帮助能够从事软件开发工作,我自己都感觉到不可思议.这期间不仅有自己奋斗的辛酸,更有成长的快乐.下面说说我自己的一个学习方法,希望对某些人有些帮助. 刚开始的时候因为没有基础,所以在同事的推荐下看了一些基础书籍(感觉谭浩强的书比较好,MFC深入浅出也相当不错),做了一些基本的练习.万丈高楼平地起,基

python之面向对象(软件开发过程、反射)

一.面向对象软件开发的过程 面向对象的软件工程包括下面几个部: 1.面向对象分析(object oriented analysis ,OOA) 软件工程中的系统分析阶段,要求分析员和用户结合在一起,对用户的需求做出精确的分析和明确的表述,从大的方面解析软件系统应该做什么,而不是怎么去做.面向对象的分析要按照面向对象的概念和方法,在对任务的分析中,从客观存在的事物和事物之间的关系,贵南出有关的对象(对象的'特征'和'技能')以及对象之间的联系,并将具有相同属性和行为的对象用一个类class来标识.