软件功能开发计划 软件开发计划 - 电脑|办公 - 电脑办公-杀毒安全-网络-V3学习网
微商网
 
 
导航:首页 |电脑|办公|正文

软件功能开发计划 软件开发计划

时间:2021-07-06 09:36:57
软件项目开发计划是什么? 1编写目的【阐明编写开发计划的目的,指出读者对象。】 1 2项目背景【可包括:a 项目的委托单位、开发单位和主管部门 该软件系统与其他系统的关系。】 1 3定义【列出本档
作者:

软件功能开发计划

软件项目开发计划是什么?

.1编写目的【阐明编写开发计划的目的,指出读者对象。

】 1.2项目背景【可包括:a.项目的委托单位、开发单位和主管部门..该软件系统与其他系统的关系。

】 1.3定义【列出本档中用到的专门术语的定义和缩写词的原文。

】 1.4参考资料【可包括:a.项目经核准的计划任务书、合同或上级机关的批文;.文档所引用的资料、规范等;列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源。

】 2.项目概述 2.1工作内容【简要说明项目的各项主要工作,介绍所开发软件的功能、性能等。

若不编写可行性研究报告,则应在本节给出较详细的介绍。

】 2.2条件与限制 【阐明为完成项目应具备的条件、开发单位已具备的条件以及尚需创造的条件。

必要时还应说明用户及分合同承包者承担的工作、完成期限及其他条件与限制。

】 2.3产品 2.3.1程序【列出应交付的程序名称、使用的语言及存储形式。

】 2.3.2文档【列出应交付的文档。

】 2.4运行环境【应包括硬件环境、软件环境。

】 2.5服务【阐明开发单位可向用户提供的服务。

如人员培训、安装、保修、维护和其他运行支持。

】 2.6验收标准 3.实施计划 3.1任务分解【任务的划分及各项任务的负责人。

】 3.2进度【按阶段完成的项目,用图表说明开始时间、完成时间。

】 3.3预算 3.4关键问题【说明可能影响项目的关键问题,如设备条件、技术难点或其他风险因素,并说明对策。

】 4.人员组织及分工 5.交付期限 6.专题计划要点 【如测试计划、质量保证计划、配置管理计划、人员培训计划、系统安装计划等。

软件项目计划的计划制定

项目计划详细说明了所需软件工作及如何实现。

它定义了每一个主要任务,并估算其所需时间和资源,同时为管理层的评估和控制提供了一个框架。

项目计划也提供了一种很有效的学习途径。

如果能合理建档,它便是一个与实际运行效能比较的基准。

这种比较可以使计划者看到他们的估算误差,从而提高其估算精确度。

我们着重强调对项目规模和资源的估算,是因为低质量的项目资源估算将不可避免地造成资源短缺,进度延迟和预算超支。

又由于项目资源估算是从软件规模估算中直接衍生出来的,所以低质量的规模估算是造成许多软件项目问题的根本原因。

项目计划应在项目开始初期制定出,并随着工程的进展不断地加以精化。

起初,由于软件需求通常是模糊而又不完整的,我们的工作重点应在于明确该项目需要哪些领域的知识,并且如何获取这些知识。

如果不遵循这一指导原则,程序员们通常会积极地投入到那部分已知的工作中去,而把未知部分留滞到以后。

这种工作方式通常会产生很多问题,因为未知部分具有最高的风险系数。

软件项目计划的逻辑如下所述 :由于软件需求在初始阶段是模糊而又不完整的,质量计划只能建立在对客户需求的大致而不确切的理解之上。

因此,项目计划应该从找出含糊不确切与准确恰当的软件需求间的映射关系入手。

接着建立一种概念设计。

项目初始架构的建立要十分谨慎,因为它通常标定了产品模块的分割线,同时描述了这些模块所实现的功能及所有模块间的关系。

这就为项目计划和项目实施提供了组织框架,因此一个低质量的概念设计是不能满足要求的。

在每一次后续的需求精化时,也应同时精化资源映射,项目规模估算和工程进度。

软件项目计划-制订软件项目计划的方法与策略制订软件项目计划的目的在于建立并维护软件项目各项活动的计划,软件项目计划其实就是一个用来协调软件项目中其它所有计划,指导项目组对项目进行执行和监控的文件。

一个好的软件项目计划可为项目的成功实施打下坚实的基础。

软件项目有其特殊性,不确定因素多,工作量估计困难,项目初期难于制定一个科学、合理的项目计划。

我曾主持和参与过大大小小的软件项目十余项,下面我将把我制订软件项目计划的经验分享给大家。

1.注重项目计划的层次性软件项目计划的层次及其关系如下图所示。

高级计划,是项目的早期计划。

高级计划应当是粗粒度的,主要是进行项目的阶段划分,确定重大的里程碑,所需相关的资源,包括人力资源、设备资源、资金资源,即所谓的人、财、物三个要素。

大的阶段交替之前,应做好下一阶段的详细计划,我们称之为二级计划。

详细计划要确定各项任务的负责人,开始时间,结束时间,任务之间的依赖关系,设备资源,小的事件点(即里程碑)。

如果项目规模相对较大,可以有多级的计划,比如说,一个项目组可能分为几个开发组,二级计划是各开发组制订的适合的自己小组的计划。

如果开发组还分了小组,可以有小组的三级计划。

开发人员的个人计划是低级计划,由开发人员根据自己的任务自行制定,要把任务细化到人·日。

一般的,软件项目计划至多有四级就够了,过多的等级将会引发效率的瓶颈。

大的项目不见得要有庞大的组织和人员数量来支撑,合理的划分小组,减少组织的层次,有利于项目计划的制订和实施。

较小的软件项目由于工期不长,人员较少,有二级计划(高级计划与低级计划)也是可行的。

2.重视与客户的沟通与客户的沟通是很重要的。

不必害怕客户知道我们的开发计划,特别是项目进度情况,应当和客户共享这些信息。

首先,客户会提出一些对项目时间、进度、效果上的要求,这个指标往往经不起推敲,有的还带有较强的政策性。

如:在我主持的一个某单位人nnerlink>MIS系统的开发中就发现,客户方对时间上的约束是有成形的文件的,是他们单位领导们开会的决定。

客户给出的从项目启动到验收的时间只有三个月,但是,经过我们认真的需求调研,做出项目进度的粗计划和部分的二级计划后,发现三个月的时间是难于实现的。

我们把做出的调研文档和项目计划摆出来和和客户讨论,最终使项目的开发时间延长为六个月。

站在为了科学地分析和解决问题的立场上来看,项目组和客户的目的是一致的,所以对于合理的项目进度客户是会理解与支持的。

其次,我们有义务要让客户知道项目的计划。

这样才能让客户和用户主动、积极参与项目,达到项目的最终目标。

项目计划取得双方签字认可是一种好的习惯。

客户可能不愿意签正式的文件,那么在文档的封面上签上双方负责人的姓名、联系方式也行,虽然是非正式的,但留下了项目工作的痕迹。

有必要想办法让客户清楚签字意味着什么。

这就意味说双方有了一个约定,既让用户感觉心里踏实,也让自己的项目组有了责任感,有一种督促和促进的作用。

3.该详细的详细,该简略的就简略软件项目计划就如同软件项目本身一样有它特殊性,一个三五个人花两三个月就可以完工的小项目,可能项目计划就四五页纸,包括一个WBS(工作分解结构)和一个Gantee图(甘特图)。

一个需要五六十个人甚至上百人,要花上半年或更长时间的...

软件开发项目计划的目的与作用是什么呢?

项目计划目的与作用 根据软件能力成熟度模型集成CMMI1.1,软件开发项目计划的目的是:建立和维护定义项目活动的计划。

项目计划属于CMMI的第2级,其过程域包括开发项目计划、与相关人员交流、获取对计划的承诺、维护计划;项目计划为实施和监控项目活动提供了基线。

项目计划的第一个目的是建立估计值,即建立和维护项目计划因素的估计值。

为此应该确定项目范围,即通过建立高层工作分解结构来估计项目范围;监理工作产品和任务属性的规模与复杂度;确定项目的生命周期阶段、以此来限定计划范围;基于估算的原理进行对工作产品和任务的项目工作量和成本的估算。

项目计划的第二个目的是开发项目计划文档,即文档化项目计划,维护项目计划,并以此作为项目管理的基线。

为此应该建立和维护项目的预算和进度表;要识别和分析项目风险;确定如何采集和管理项目数据;确定实施计划所需要的各种资源;确定项目实施所必需的知识和技能;确定各项任务或活动的承担人;编写项目计划文档。

项目计划的第三个目的是获得并维持所有项目干系人对项目的承诺。

为此应当评审影响项目的所有计划使所有项目干系人理解项目承诺;必要时调整项目计划以适应有效的和已经估计的资源;获取所有项目干系人特别是项目任务或活动的承担人对项目计划的承诺。

项目计划是项目实施的基础。

通过所有项目干系人认可的项目计划形成文件,便于本企业高层领导、相关管理部门粮道、相关参与部门领导、项目组成员、客户、协作单位、分包单位等等所有项目干系人之间的交流沟通。

项目计划是项目组为实现项目目标而科学地预测并确定项目生命周期的行动方案。

任何项目计划都是为了解决三个问题:一是确定项目目标,二是确定为了达成项目目标的各项行动的顺序和时间,三是确定项目中每项行动所需要的资源。

所以制定项目计划就是在明确项目目标的基础上,确定项目行动方案,分配相关资源的项目综合管理过程,就是通过对历史的、当前的、项目或组织内部的和项目或组织外部的有关信息进行分析和评价,对项目生命周期过程中可能的发展进行评估、预测,对新项目实施工作进行的各项活动做出尽可能周密的安排,最终形成一个所有项目干系人认可的、约定项目各项活动、作为项目实施工作基础的文件—项目计划。

项目计划围绕项目目标的完成系统地确定项目的任务、安排任务进度、编制完成任务所需的资源预算等,从而保证项目能够在合理的工期内,用尽可能低的成本达到尽可能高的项目质量要求。

在制定项目计划过程中必须明确五个基本问题:做什么、如何做、何时做、谁去做、需要多少资源。

简单地说,项目计划可以起到如下作用: 1、 确定完成项目目标所需的各项任务范围,落实责任,制定各项任务的时间表,明确各项任务所需的人力、物力、财力; 2、 确定项目的工作规范,遵循的标准,成为项目实施的依据和指南; 3、 明确项目组各成员及其工作责任范围以及相应的职权;使项目组成员明确自己的工作目标、工作方法、工作途径、工作期限要求; 4、 保证项目进行过程中项目组成员和项目干系人之间的交流、沟通与协作,使得项目各项工作协调一致,增加客户满意度; 5、 为项目的跟踪控制提供基础。

6、 项目计划在项目中起到承上启下的作用,计划批准后应当作为项目的工作指南。

软件开发项目的进度安排方式有哪些?

软件开发项目的进度安排可以有两种考虑方式。

第一种,系统最终交付使用的日期已经确定,软件开发机构必须在合同规定的时间内安排;第二种,只确定了大致的年限,最后交付使用的日期由软件开发机构根据具体情况确定。

后一种考虑能够对软件开发任务进行细致的分析;能够最好地利用资源,合理地分配工作量,但实际工作中常常遇到第一种情况,问题是软件管理人员如何在规定的期限内分配人力和安排进度。

进度安排的好坏往往影响整个项目的按期完成和用户的使用,如不能按期完成,用户就会不满,而且需向用户赔偿损失。

如作为商品,将会失去市场竞争力。

进度安排的精确性有时比成本估算更重要。

在商品生产的社会中,某种商品的损失往往还可以通过其他商品或分期偿还来承担。

而进度拖延的损失是无法弥补的。

下面就软件开发项目进度安排中的几个问题进行讨论。

1.软件工作的特殊性 制定软件进度与其他工程没有很大的区别,因此使用一般的通用技术和工具即可。

但重点要强调的是软件产品是逻辑产品,这与其他工程不同。

因此当几个人共同完成某项任务时,人与人之间就有一个思想交流问题,称之为通信关系。

通信是要付出代价的,不只是要花时间,同时由于通信中的疏忽常常会使错误增加。

如一个组有4个软件工程师,两两之间进行通信联系,通信路径有6条;对6个软件工程师,则通信路径增加至14条。

因此所付的代价就必然会增加,所以工作组的人员不宜太多,一般3—5人为好,目前国外一般采用主程序员组的制度。

另一点要强调的是软件工作切忌中间临时加人,必须在安排进度时就考虑周到。

2.各阶段工作量的分配 估算出总的工作量以后,就需要一个可以进行各阶段工作量分配的模型。

某一阶段工作量所占的百分比必须根据经验数据确定。

这里要再一次强调,在开发过程中保存的记录将增加经验数据库存,而且将改善今后估算的准确性。

R.S.Pessman提出一种称作40-20-40的工作量分配规则,即前期工作(计划、需求分析、概要设计和详细设计阶段)和后期工作(测试阶段)各占40%,编码阶段占20%。

应该强调要重视前期和后期工作。

前期工作容易被忽视,主要原因是:管理人员认为不开始编码工作就算没有进行,他们不了解前期工作的重要性;技术人员往往也急于编码,认为写出代码任务就算完成了。

后期工作也容易被忽视,认为编码出来就完事了,对测试工作要占这么大的工作量没有思想准备。

所以要制定好进度计划,就要研究软件工作的规律,前期基础工作没做好,将会给后期工作带来很大困难,往往使工程进度一拖再拖,难以坚持,有的不得不中途夭折。

3.制定开发进度 需要涉及的下一个未知量是开发进度。

进度安排是软件计划工作中一项最困难的任务,计划人员要把可用资源与项目工作量协调好;要考虑各项任务之间的相互依赖关系,并且尽可能地平行进行;预见可能出现问题和项目的“细脖子”,并提出处理意见;以及规定进度,评审和应交付的文档。

假设用作变量的开发时间TD按线性变化,而且已经得到了总的开发工作量估算值ED,要求在规定的时间TD内完成,在项目中最好有参加工作的人员平均值M,即M=EDTD,这将是一个非常有用的数据。

遗憾的是在上述算式中,项目的工作量和开发时间不能作为独立的变量。

Books定律描述了这种现象的最极端情况:为误期的软件项目增加人员将会使其进度更慢。

来源:www.examda.com (四) 软件开发组织 有多少个软件开发机构,几乎也就有多少人员的组织机构。

不管这些组织机构是好或坏,一般是不可能轻易改变的。

尽管组织机构的改变不属于软件计划人员的职责范围内的事。

不过,在一个新的软件项目中直接涉及人员的组织问题却是可以,也应该在软件计划阶段加以认真考虑的。

软件开发项目的计划的要素包括哪些?

1、 项目范围说明 项目范围说明阐述进行这个项目的原因或意义,形成项目的基本框架,使项目所有者或项目管理者能够系统地、逻辑地分析项目关键问题及项目形成中的相互作用要素,使项目干系人在项目开始实施前或项目相关文档编写以前,能够就项目的基本内容和结构达成一致;项目范围说明应当形成项目成果核对清单,作为项目评估的依据,在项目终止以后或项目最终报告完成以前进行评估,以此作为评价项目成败的依据;范围说明还可以作为项目整个生命周期监控和考核项目实施情况的基础,和项目其他相关计划的基础。

2、 项目进度计划 进度计划是说明项目中各项工作的开展顺序、开始时间、完成时间及相互依赖衔接关系的计划。

通过进度计划的编制,使项目实施形成一个有机的整体。

进度计划是进度控制和管理的依据,可以分为项目进度控制计划和项目状态报告计划。

在进度控制计划中,要确定应该监督哪些工作、何时进行监督、监督负责人是谁,用什么样的方法收集和处理项目进度信息,怎样按时检查工作进展和采取什么调整措施,并把这些控制工作所需的时间和人员、技术、物资资源等列入项目总计划中。

3、 项目质量计划 质量计划针对具体待定的项目,安排质量监控人员及相关资源、规定使用那些制度、规范、程序、标准。

项目质量计划应当包括与保证与控制项目质量有关的所有活动。

质量计划的目的是确保项目的质量目标都能达到。

根据ISO9001要求和PMBOK2000,为实现质量目标,组织应遵循以顾客为中心、领导作用、全员参与、过程方法、管理的系统方法、持续改进、基于事实的决策方法、互利的供方关系等8项质量管理原则。

4、 项目资源计划 有了项目范围计划和进度计划后,资源计划就是决定在项目中的每一项工作中用什么样的资源(人、材料、设备、信息、资金等等),在各个阶段使用多少资源。

项目费用计划包括资源计划、费用估算、费用预算。

软件开发计划制定中的几个问题是什么?

1.1 详细设计不彻底 详细设计的不彻底,导致开发计划制定后执行的空洞,从而无法真正实现计划的实现和监控,大多的情况是在不断的弥补,或者进度的追赶,从导致代码的质量无法保证,甚至亦无法保证功能的实现。

1.1.1 详细的设计的不足 很多开发人员在接到开发任务后,担心不能及时完成任务,在匆忙做完了概要设计(其实此时的概要设计可能根本不能满足需要),以没有时间为借口,直接进入到编码阶段,没有对软件系统进行更为详细的设计,从而导致了对开发中出现的问题没有做出相应的应对措施。

而且在出现问题后,对问题认识的不足(包括担心问题的出现会使自己的技能被别人否定等),和解决方法的缺乏,从而导致了问题的堆积和时间的流失,到最后使得项目的进度不得不发生了延迟。

众多公司的项目和产品中普遍存在这个问题。

1.1.2 详细设计应该达到的地步 详细设计应该能够达到一个这样的地步,比如,在一个模块所需要实现的功能基础上,对此模块再次进行的详细设计,以至不可再分,甚至可以细化到可以实现的某一个具体的函数、类、属性等之上。

而且不遗漏细节! 比如页面设计 可以以页面为单位进行详细设计,从而细化到每个页面大概需要实现的基本要素,包括多少个按钮、列表框、输入框等,以及每个页面中的功能点,包括需要连接的数据库等。

这样每个页面的具体时间就能准确的确定,并被执行。

且需要做出一个网页的设计图样,共项目评审使用。

比如图形制作可以以每幅图为单位进行详细设计,从而可以细化到每个可能需要实现的基本要素,包括道路等各项图形要素,以及功能点等。

这样每副图形制作的具体时间就能准确的确定,并被执行。

亦可以做评审使用。

1.1.3 重物的称量 试想,我们需要称量一个重物,如果没有磅秤,只有弹簧称,那么我们只能将此重物进行分割,方能知道此重物的重量,而且需要保证在分割的过程中没有损耗。

否则就需要进行一个定量的、适度的估算,比如百分比等,以弥补分割过程的损耗。

在这个比喻中,我们把重物看成是个项目,分割重物的人是项目经理或系统分析人员,称量的人则是实施开发的人员,分割过程则是项目开发过程。

如果在分割重物的人,没有具备分割的能力,重物的重量将会远远偏离其实际目标。

如果称量重物的人,没有具备称量的能力,重物的重量也会偏离其实际目标,只不过相对于分割重物的人的不称职,离目标可能会近些。

1.1.4 西瓜籽的计算 有时候我们开发项目的过程也想一个计算西瓜籽的过程。

看下面的过程,根据西瓜向阳一面多籽的特性,确立西瓜的中心线,然后将西瓜籽分解成阳面、阴面的两部分,再根据中心线与阳面、阴面的距离,将西瓜进行多次分块,直到我们能够较容易得数出西瓜中的西瓜籽。

这样我们可以对所有的西瓜块进行分类,这样就能够很快的得出西瓜籽的数量。

如果我们对西瓜的结构很是了解,那么即使有些误差,但也会相差无几。

在这里,西瓜是我们需要建立的系统,西瓜籽是我们所需要实现的功能,西瓜籽的数目则是我们的时间,对西瓜的分块和分类则是我们的进度安排。

而我们只有采用科学的方法,才能快捷的获得一个较为准确的项目进度计划。

软件开发项目计划制定的原则是什么呢?

项目计划制定的原则 1、 目的性。

任何项目计划的制定应当围绕项目目标的实现展开。

制订计划的第一步就是必须分析目标、进而找出为了完成目标所要完成的所有任务。

2、 系统相关性。

项目计划由一系列子计划组成,如范围计划、人力资源计划、进度计划、资源计划、质量管理计划、风险管理计划等等。

各个子计划不是孤立存在的,彼此之间相对独立,又紧密相关,应当形成一个有机的整体。

构成项目计划的任何子计划的变化都会影响到其它子计划的制定和执行,进而影响到项目计划的正常实施。

3、 经济性。

项目不仅要有较高的效率,而且要有较高的效益,因此计划过程是对多种选择权衡、优化的过程。

考试大整理 4、 动态性。

由于项目环境一般处在变化之中,特别是软件开发先把棺木的多变性,经常使计划的实施偏离项目的基准计划,因此项目计划要随作环境和条件的变化不断调整和修改,以保证项目目标的完成。

如何防止项目计划多变,对出现的问题及时加以处理以保证进度按原计划实现,在一定的意义上说甚至是更为重要的。

防止项目计划多变,就要改进计划的编制工作,提高计划的质量,这首先要求项目经理和项目计划制定人员应当较好地掌握项目的环境条件,对各种条件进行深入的调查落实并做出有根据的预测,据以制定实施方案,适当留有余地,以使编制的项目计划切实而可行。

其次就是要使这种计划能够得到贯彻执行,因为再好的计划,如果不能认真执行,也不过是毫无意义的一纸空文。

根据各方面的经验,实行各种不同形式的责、权、利机制是保证计划实现的关键。

项目计划软件都有哪些?

项目管理的首要目标是制定一个构思良好的项目计划,以确定项目的范围、进度和费用。

在整个项目寿命周期中,最基本、也可以说最重要的功能之一就是项目计划,特别是在作出影响项目整个过程的主要决策的初始阶段。

但从另一方面来说,如前所述,由于项目管理是一个带有创造性的过程,项目早期的不确定性很大,所以项目计划又不可能在项目一开始就全部一次完成,而必须逐步展开和不断修正。

这又取决于能适当地对计划的执行情况作出反馈和控制以及不间断地交流信息。

从这里也可看出项目进行过程中控制的重要性。

计划之所以成为项目管理的最重要的功能,是因为它指出了项目组织未来努力的方向和奋斗目标,是经过仔细分析后综合成的对未来的构思,又是当前行动的准则。

一个完善的计划可以使失败的概率降至最低,以最大限度地保证在预期的期限内取得预期的效果。

我们团队现在使用的日事清就有比较不错的功能,通过看板按照项目、部门、时间等维度 组织团队工作清单,梳理团队任务,创建团队工作计划,让团队工作可视化。

建立在看板 的任务会落实到人,这些任务会自动分解至团队相关成员的个人日程中去,让个人的日程 和团队的工作安排打通,实时跟进。

通过这样的方式,使团队有计划、有反馈、有总结、 有调整,基于此就形成一个完整的“戴明环”,保证了团队的效率和质量。

软件开发是什么

软件开发的内容是:需求、设计、编程和测试!需求:不仅仅是用户需求,应该是开发中遇到的所有的需求。

比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据......为了清楚地知道这些需求,你经常要和客户、项目经理等交流。

设计:编码前,肯定有个计划告诉你要做什么,结构是怎样等等。

你一定要按照这个来做,否则可能会一团糟。

编程:如果在项目截止日,你的程序不能跑起来或达不到客户的要求,你就拿不到钱。

测试:目的是让你知道,什么时候算是完成了。

如果你聪明,你就应该先写测试,这样可以及时知道你是否真地完成了。

否则,你经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。

软件开发中,客户和开发人员都有自己的基本权利和义务。

客户: 定义每个用户需求的商业优先级; 制订总体计划,包括用多少投资、经过多长时间、达到什么目的; 在项目开发过程中的每个工作周,都能让投资获得最大的收益; 通过重复运行你所指定的功能测试,准确地掌握项目进展情况; 能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调整项目计划; 能够随时取消项目;项目取消时,以前的开发工作不是一堆垃圾,已开发完的功能是合乎要求的,正在进行或未完成的的工作则应该是不难接手的。

开发人员: 知道要做什么,以及要优先做什么; 工作有效率; 有问题或困难时,能得到客户、同事、上级的回答或帮助; 对工作做评估,并根据周围情况的变化及时重新评估; 积极承担工作,而不是消极接受分配; 一周40小时工作制,不加班。

软件开发过程可以包括以下6个阶段:计划 对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源(如计算机硬件、系统软件、人力等)成本,可取得的效益和开发进度作出估计。

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

分析 软件需求分析就是回答做什么的问题。

它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。

本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。

需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。

本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。

设计 软件设计可以分为概要设计和详细设计两个阶段。

实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。

可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。

模块,然后进行模块设计。

概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。

详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。

编码 软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的"源程序清单"。

充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。

当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。

而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。

测试 软件测试的目的是以较小的代价发现尽可能多的错误。

要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。

如何才能设计出一套出色的测试用例,关键在于理解测试方法。

不同的测试方法有不同的测试用例设计方法。

两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。

结构错误包括逻辑、数据流、初始化等错误。

用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。

白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。

其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。

黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。

黑盒法。

维护 维护是旨在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。

即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。

编写软件问题报告、软件修改报告。

一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持...

大家还关注
阅读排行
推荐阅读