如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
软件开发模型与软件工程瀑布式模型原型模型增量模型螺旋模型XP开发模型面向对象的开发模型构件集成模型软件开发模型:软件开发模型是软件开发的全部过程、活动、任务和管理的结构框架。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。选择合适的开发模型是十分重要的软件开发模型是将软件开发中的主要活动细分为:常见的开发模型:瀑布模型、演化模型、螺旋模型、XP开发模型、快速开发模型等。由于现在还没有任何一种方法能够解决软件危机中的所有问题,所以在软件开发的各个阶段采用综合治理的方法。软件开发模型直接影响软件开发的周期和软件质量,是软件开发的组织管理形式,是软件工程最重要的内容之一。2.2.1瀑布模型的概念:2.2.1瀑布模型的概念:阶段任务、结果及人员特征:从上一阶段承接的成果物作为本阶段的工作对象;对上一阶段成果物实施本阶段的活动;给出本阶段的成果物,作为下一阶段的输入;对本阶段的工作进行评审,若本阶段的工作得到确认,则继续下阶段的工作,否则返回前一阶段或更前一阶段。优点:提供了一个模板,使得分析、设计、编码、测试、运行维护可以在该模板的指导下应用。缺点:缺乏灵活性,不能适应用户需求的改变开始阶段的小错误被逐级放大,可能导致软件产品报废返回上一级的开发需要十分昂贵的代价随着软件规模和复杂性的增加,对于需求不能完全确定的软件开发项目将产生很大的风险。通常使用场合:需求分析做得比较好的系统二次开发系统在项目开发的初始阶段,人们对软件的需求认识往往不够清楚,因而使得开发项目难以做到一次开发成功,出现返工再开发在所难免。在获得用户基本需求说明的基础上,投入少量人力和物力,快速建立一个原始模型,使用户及时运行和看到模型的概貌和使用效果,并对需求说明进行补充和精化,提出改进意见,开发人员进一步修改完善,如此循环迭代,直到得到一个用户满意的模型为止。从原型法的基本思想中可以看到,用户能及早看到系统模型,在循环迭代修改和完善过程中,使用户的需求日益明确,从而消除了用户需求的不确定性,同时从原型到模型的生成,周期短、见效快,对环境变化的适应能力较强。⑴功能选择要恰当选择原型实现的功能。根据用户基本需求,对系统给出初步定义。用户的基本需求包括各种功能的要求、数据结构、菜单和屏幕、报表内容和格式等要求。这些要求虽是概略的,但是最基本的,易于描述和定义。原型和最终的软件系统不同,两者在功能范围上的区别主要有以下两个方面:第一最终系统是软件需求全部功能的实现,而原型只实现所选择的部分功能。第二最终系统对每个软件需求都要求详细实现,而原型仅仅是为了试验和演示用的,部分功能需求可以忽略,或者模拟实现。⑵构造原型根据用户初步需求,开发出一个可以应用的系统,它应满足上述的由用户提出的基本要求。在构造一个原型时,应当强调着眼于预期的评估,而不是为了正规的长期使用。⑶运行和评价原型在试用中能亲自参加和面对一个实在的模型,能较为直观和明确地进一步提出需求,提出修改意见。通过运行原型对软件需求规格说明进行评价和确认。评价要有用户参与,注意来自用户的反馈信息。⑷修改和完善原型根据修改意见进行修改,以得到新的系统原型,然后再进行试用和评价,这样经过有限次的循环反复,逐步提高和完善,直到得到一个用户满意的系统模型为止。根据原型实现的特点和环境,可以把原型作为试验的工具,用完就丢弃之(大部分原型都废弃不用,主要因为原型太慢、太大、结构不合理等原因);也可以使原型全部或部分地成为最终系统的组成部分。原型开发与原型运行评价两者需反复进行多次,才能最后得到经过确认的需求规格说明,并以此作为进一步的软件设计和实现的基础。需求分析原型模型(快速原型模型)采用原型模型的软件生存周期优点:开发者与用户充分交流,可以澄清模糊需求,需求定义比其他模型好得多为用户需求的改变提供了充分的余地缺点:开发者为了使一个原型快速运行起来,往往在实现过程中采用折衷的手段。软件系统的组成部分可能会打折扣;资源规划和管理较为困难,随时更新文档也带来麻烦。一般使用场合:开发者在不了解的应用领域开发客户不清楚其所开发软件项目的最终目标2.4增量模型创建版本1规格说明特点:在前面增量的基础上开发后面的增量每个增量的开发可用瀑布或快速原型模型迭代的思路优点:如果在项目既定的商业要求期限不可能找到足够的开发人员,这种情况下增量模型显得特别有用。早期的增量可以有少量的人员实现。同时,增量模型可以规避技术风险。软件开发几乎总要冒一定的风险,例如,产品交付给用户之后用户可能对产品不满意,到了预定的交付日期软件可能还未开发出来,实际的开发成本可能超过了预算,产品完成之前一些关键的开发人员可能“跳槽