




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、1、-软件过程模型、一、软件工程、一、二、软件过程和软件过程模型、软件工程方法、面向功能方法、面向对象方法、执行概要、一、三、软件过程、软件过程是指开发软件产品的一系列活动和结果。即人们用来开发和维护软件及相关过程的一系列活动,包括软件工程活动和软件管理活动。a,4,软件过程模型,它是从特定角度对软件过程的简化描述。“模型的本质在于简化”。软件过程模型是对描述的实际过程的抽象,它包括各种活动、软件产品和软件工程师的不同角色。a,5,软件过程模型的分类,基于软件需求完全确定的瀑布模型;在开发的初始阶段,只给出基本需求的渐进模型,如原型模型、螺旋模型和喷泉模型;基于形式化开发方法的转换模型和基
2、于第四代技术的模型(4G模型);基于知识的智能模型等等。在实际开发中,应根据项目的特点和现有条件选择合适的模型,可以将几种模型结合起来,充分利用每种模型的优势。瀑布模型是由w罗伊斯于1970年提出的。也称为软件生命周期模型。瀑布模型严格按照软件生命周期的每个阶段开发,前一阶段的输出是下一阶段的输入,强调每个阶段的严格性。它规定了每个阶段的任务、结果和要提交的文件。各阶段任务完成后,必须对阶段性产品(主要是文件)进行评审,合格后才能进行下一阶段工作。因此,它是一个文档驱动的模型。a、7、瀑布模型、验收测试、组装测试、实施、详细设计、概要设计、需求分析、退役、可行性研究、使用和维护、功能:阶段之间
3、的顺序和相关性、质量保证、a、8、严格规定每个阶段必须提交的文件;要求在每个阶段交付的产品必须由质量保证团队仔细检查;明确区分逻辑设计和物理设计,尽可能延迟程序的物理实现。“文档驱动模型”为软件开发提供了一个基本框架,有利于大规模软件开发过程中人员的组织和管理,有利于软件开发方法和工具的研究和使用,在软件工程中发挥着重要作用。一个,9,瀑布模型,它僵硬地将项目分解成精确的阶段,并且委托的项目必须在过程的早期阶段清楚地给出,这意味着很难响应用户需求的变化。因为生成和确认文档既费钱又费时,所以在几次迭代之后,有必要冻结部分开发过程并继续后续的开发阶段。需求的冻结使得需求非常不成熟,系统无法满足用户
4、的需求。作为一个整体的开发瀑布模型,因为它不支持产品的演化,并且缺乏灵活性,所以很难在开发过程中发现错误,这些错误只能在最终产品运行时暴露出来,从而使得软件产品的维护变得困难。a,10,瀑布模型一般适用于功能和性能明确、无重大变化的软件系统的开发。例如,操作系统、编译系统和数据库管理系统等系统软件的开发。该应用程序有一定的局限性。原型模型的基本框架是软件开发人员根据用户提出的基本软件需求快速开发原型,从而向用户展示软件系统的部分或全部功能和性能。在征求用户对原型的评价意见后,他们进一步细化和完善需求,相应地改进和完善原型,并重复这些步骤,直到软件开发者和用户双方确认软件系统的需求并达成一致。软
5、件需求确定后,可以进行后续的开发步骤,如设计、编码和测试。,a,12,快速原型法,a,13,用户/客户给出软件产品的一般要求。开发团队和用户共同定义软件的总体目标,识别已知的需求,设计和构建原型,并强调“快速性”。采用基于组件的软件开发方法尽可能缩短软件开发周期,不建议使用太多新技术用户/。原型模型图,a,14,快速原型开发方法,仅模拟软件系统的人机界面和人机交互模式。开发一个工作模型来实现软件系统中重要或误导的功能。使用一个或几个类似的运行软件向用户展示软件需求中的一些或所有功能。原型应尽可能采用相应的软件工具和环境,尽可能采用软件复用技术,并在运行效率方面做出让步,以便尽快提供。同时,原型
6、应充分显示软件系统的可视部分,如人机界面、数据输入方式和输出格式等。a,15,采用原型模型的软件生命周期,并生成原型。a、16、原型模型的优点,原型模型比瀑布模型更符合人们理解事物的过程和规律,是一个更实用的开发框架。它产生的正式需求文档是软件开发的基础。如果原型是可行的,它的高质量程序片段和开发工具可以用来开发工作程序。原型开发和审查是一个迭代过程,涉及系统分析师和用户/客户,每个迭代周期是一个线性过程。对于大型软件项目,原型模型需要足够的人力资源来建立足够的原型组。原型模型要求开发者和客户在一定时间内共同完成原型系统的开发。如果任何一方未能履行其承诺,将导致原型开发的失败。如果系统很难模块
7、化,那么构建原型所需的组件就会有问题;如果高性能是一个指标,原型模型可能无法工作。原型模型不适用于具有许多新技术的项目。a,18,Prototype Model适用于需求无法事先准确定义的软件系统的开发,更适用于项目团队成员(包括分析师、设计师、程序员和用户)不能很好地沟通或沟通有困难的情况。19、螺旋模型,螺旋模型是由鲍姆于1988年提出的。它结合了瀑布模型和原型模型的优点,即把两者结合起来,增加了风险分析机制。螺旋模型的基本框架如下:a,20,螺旋模型,第一个循环产生产品规格,第二个循环产生用于开发的原型,第三个循环产生软件产品的初始版本,第四个循环产生相对完整的软件产品的新版本。运行概念
8、、软件需求、需求有效性验证、评估备选方案、定义和解决风险、验收测试计划、装配测试计划、规划下一阶段工作、设计验证和确认、产品设计、详细设计、编码、单元测试、装配测试、验收测试、运行和维护、开发和验证下一级产品、确定目标、备选方案和约束、提交生产线客户评估、建模、模拟、评估、需求评估、需求细化计划、开发计划、实现计划、顺时针方向、a,21、螺旋模型、螺旋模型的每个周期包括四个阶段:规划(需求定义1)规划(需求定义)首先,使用需求分析技术了解应用领域,获得初步的用户需求,并制定项目开发计划(即整个软件生命周期计划)和需求分析计划。然后,根据用户和开发人员对上一周期工作成果的评价和评审,修改和完善需
9、求,明确下一周期软件开发的目标和约束,并据此制定新一轮软件开发计划。2)风险分析根据本轮制定的发展规划,开展风险分析,评估备选方案,构建原型,进一步分析风险,给出消除或降低风险的方法。此时,根据风险分析的结果决定是否继续项目。因此,螺旋模型是一种风险驱动模型。3)工程实现使用构建的原型进行需求建模或系统仿真,直到软件系统实现。a,23,螺旋模型,4)用户评估和阶段评审,将原型提交给用户使用并征求改进意见。开发人员应该在用户的密切配合下进一步提高用户的需求,直到用户认为原型能够满足需求,或者评估或确认软件产品的设计。螺旋模型从第一个周期的计划开始,从一个周期到另一个周期迭代,直到整个软件系统开发
10、出来。a,24,螺旋模型的优点,支持用户需求的动态变化。支持软件系统的可维护性,并且每个维护过程沿着螺旋模型只需要一个或两个以上的周期。这符合人们理解现实世界和软件开发的客观规律。原型可以看作是一种形式上可执行的需求规范,便于用户和开发人员理解,也可以作为进一步开发的基础,方便用户参与所有关键决策。开发者和用户一起参与软件开发,软件中的错误可以尽早被发现。螺旋模型强调原型的可扩展性和可修改性,原型的演化贯穿于整个软件生命周期,这将有助于目标软件的适应性。它不仅保持了瀑布模型的系统性和阶段性,而且通过原型评估降低了开发风险。螺旋模型为项目经理及时调整管理决策提供了便利,从而降低了开发风险。螺旋模
11、型的缺点是,如果每次迭代的效率不高,会增加成本并延迟提交时间,导致迭代次数过多;使用这个模型需要丰富的风险评估经验和专业知识,并且需要高水平的开发团队。a,26,螺旋模型适应这种情况,支持不确定需求的开发,特别是大型软件系统,支持各种软件开发方法,如面向规范、面向过程、面向对象等。这是一个前景广阔的模式。转换模型是一种基于形式化规范语言和程序转换技术的软件系统开发模型,主要用于形式化软件开发方法。在对软件需求进行分析和确定后,用形式规范语言将其描述为“形式软件规范”,然后进行一系列自动或半自动转换,最终得到软件系统的目标程序。a,28,转换模型,正式软件规范(M0),模型检查,需求分析,正式软
12、件设计规范(M1),(M2),目标程序(m),转换、a、29、转换模型也就是说,从转换模型中获得的目标程序作为“原型”供用户评估,从而使用户的需求精确、完整,然后将细化后的需求作为输入,第二次使用转换模型,依此类推。基于形式开发方法的转换模型需要严格的数学理论,如逻辑和代数,以及一整套开发环境,如形式需求规范语言、程序转换工具和定理证明工具。形式化开发方法提出较早,但至今在理论和实践上仍远未在工程中得到实际应用。30、喷泉模型和喷泉模型是近年来提出的软件生命周期模型。它是一个基于面向对象软件开发方法的模型,由用户需求驱动,由对象驱动。a31喷泉模型,该软件系统具有良好的可维护性;每一个阶段都相
13、互重叠,显示了面向对象开发方法的每一个阶段之间的交叉和无缝过渡;整个模型是一个迭代过程,包括一个阶段内的迭代和跨阶段的迭代。该模型具有增量开发的特点,即可以进行少量的分析、设计、实现和测试,从而可以在演化过程中添加相关的功能模型是对象驱动的,对象是每个阶段活动的主体,也是项目管理的基本内容。这个模型自然支持软件组件的重用。a,32,软件工程方法,软件工程方法是完成软件工程项目的技术手段。它支持软件开发和维护的全过程。软件工程方法分为:面向功能的方法结构化方法杰克逊方法沃尼尔方法面向对象方法UML,软件工程方法是软件开发的结构化方法,而软件工程过程是使用活动的方法,一,33,结构化方法,一,面向
14、数据流的开发方法。图形表示方法有数据流图(DFD)和模块层次图(SC)。在现有的软件开发方法中,最成熟、应用最广泛的是快速、自然和方便。结构化方法的总体指导思想是自上而下细化的,它被分解成若干个具有适当大小和功能的模块,每个模块都被定义和描述,其实质是功能分解和抽象。a,34,结构化方法的开发,70年代初的结构化程序,70年代中期的结构化设计,70年代后期的结构化方法中的结构化分析,SA,SD和SP相互联系,形成一套完整的开发方法。如果把模拟退火法和可持续发展法结合起来,它也被称为结构化分析和设计技术,即SDAT技术。一,35,杰克逊方法,杰克逊方法是最典型的面向数据结构的设计方法。首先分析数
15、据的层次结构,生成输入输出数据结构图,对处理过程进行模块化,然后进行详细设计和编程。杰克逊方法包括JSP(杰克逊结构编程)和改进的JSD(杰克逊系统开发)。20世纪70年代,36岁的杰克逊在软件工程领域提出了著名的杰克逊方法。当时,它仅用于软件设计。20世纪80年代初,杰克逊在许多方面对其进行了扩展和完善,最终发展成为一种需求分析方法。杰克逊方法的核心思想是根据作用于数据的行为序列的结构(序列、选择和重复)建立目标软件系统的模型,然后在软件设计阶段将模型演化成相应的程序结构。a,37,杰克逊方法的主要步骤,分析和确定输入数据和输出数据的逻辑结构。在输入数据结构和输出数据结构中找出相应的数据单元
16、。从描述数据结构的杰克逊图推导出描述程序结构的杰克逊图。列出所有操作和条件,并将其分配到程序结构图中。a,38,杰克逊图的基本类型,序列结构,重复结构,选择结构,a的伪码,39 a,38,杰克逊,1)序列结构的伪码序列结构如下,其中“seq”和“end”是关键字:a seq b c d a end,a,40,杰克逊的伪码,2)选择结构“cond1,cond2和cond3分别是执行b,c或d的条件。对应于所选结构的伪代码如下:选择cond1b a或cond2c a或cond3d a“end”,a,41,Jackson的伪代码,3)重复结构“ITER”,“直到”,“while”和“end”是关键字(重复结构有两种形式,即,直到和w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿童火箭创意画课件图片
- 2025年ACCA国际注册会计师考试真题卷(财务报告与披露)含答案
- 烟机排烟改造方案
- 煤矿团建方案模板
- 技术如何塑造未来的工作环境与文化
- 产品竞争替换方案
- 2025年度企业数据中心安全防护与运维合同
- 2025年度城市基础设施PPP项目合同模板
- 二零二五年生物科技基因测序服务购销合同
- 2025版网络数据安全保密协议书
- SHT 3081-2019 石油化工仪表接地设计规范
- 国际谈判与国际公文写作-知到答案、智慧树答案
- 新课标背景下的大单元教学研究:国内外大单元教学发展与演进综述
- 2024年江苏南京六合区竹镇镇司法调解员招聘笔试参考题库附带答案详解
- JJG 105-2000转速表行业标准
- 血管活性药物应用的护理
- 调解方法与技巧
- 《企业自备机车在国家铁路接轨站作业安全规定》(2017)251
- 国家对全民负债处理方案
- 天然气开采业的技术装备与设施建设
- 市自然资源局保密审查工作自查自纠情况总结
评论
0/150
提交评论