1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 《软件工程与计算(卷二)》-Chapter22-23-软件开发过程模型与软件工程职业基础

《软件工程与计算(卷二)》-Chapter22-23-软件开发过程模型与软件工程职业基础

时间:2021-04-26 02:45:15

相关推荐

《软件工程与计算(卷二)》-Chapter22-23-软件开发过程模型与软件工程职业基础

A级:软件生命周期模型:需求工程→软件设计→软件实现→软件测试→软件交付→软件维护Software Life Cycle Model: Requirements Engineering Software Design Software Implementation Software Testing Software Delivery Software Maintenance需求工程:建立解决方案主要任务:(获取,分析,规格说明,验证,管理)需求开发:需求获取,需求分析,需求规格说明,需求验证需求管理方法: 结构化分析方法:DFD,ERD 面向对象分析方法:用例图,概念类图,行为模型(顺序图、状态图)Requirements engineering: buildingsolutionsMain tasks: (acquisition, analysis, specification, validation, management)Requirements development: requirements acquisition, requirements analysis, requirements specification, requirements validationDemand managementMethodology Structured analysis methods: DFD, ERD Object-oriented analysis methods: use case diagrams, conceptual class diagrams, behavioural models (sequence diagrams, state diagrams)软件设计如何完成功能体系结构设计:高层设计 结构化方法:结构图 面向对象:包图,构件图,部署图 主要制品:软件体系结构原型,软件体系结构设计模型,软件体系结构设计文档(概要设计文档)详细设计结构化方法:结构图 面向对象:包图,类图,顺序图 主要制品:软件详细设计模型,软件详细设计文档人机交互设计:设计交互机制,具有易用性 Software design: how to complete the functionality Architecture design: high-level design Structured approach: structural diagram Object-oriented: package diagrams, deployment diagrams Main products: software architecture prototype, software architecture design model, software architecture design document (outline design document)detailed designStructured approach: structural diagram Object oriented: package diagram, class diagram, sequence diagram Main products: software detailed design model, software detailed design documentation Human-computer interaction design: designing interaction mechanisms软件构造:构件软件 编程,集成,测试,调试软件测试:保障产品质量 单元测试 集成测试 系统测试 方法:白盒与黑盒软件交付:产品交付用户 安装与部署,用户培训,文档支持软件维护: 完善性维护,适应性维护,修正性维护,预防性维护 逆向工程,再工程,遗留资产处理 构建-修复模型(Build-Fix Model): 缺点:没有考虑最基本的生命周期。没有分析需求的真实性。没有考虑软件结构的质量。没有考虑可维护性。 适用范围:软件规模很小、质量要求不高、对后期维护要求不高的程序可以使用。Waterfall Model: follows an ordered sequence of transformations from one stage to another. Require that every activity be validated. Allowing iterations to occur, the results of each activity must be verified, "document driven" Requirements engineering → software design → software implementation → software testing → software delivery → software maintenance (can be iterative). Disadvantages:High expectations for documentationLinear presets for development activitiesInsufficient client-user engagementMilestone granularity is too coarse Scope of application: Projects with very mature and stable requirements, reliable technology and moderate complexity.瀑布模型(Waterfall Model):按照一个阶段到另一个阶段的有序的转换序列。要求每一个活动必须进行验证。允许出现迭代,每个活动的结果必须验证,“文档驱动需求工程→软件设计→软件实现→软件测试→软件交付→软件维护(可以迭代反复)。 缺点:对文档的高期望、对开发活动的线性预设客户用户参与不够里程碑粒度过粗。 适用范围:需求非常成熟稳定、技术可靠、复杂度适中的工程。增量迭代模型: 长的开发周期分成多个迭代每个迭代结束时提交产品的一个部分,所有迭代集合起来共同交付完整产品 将开发活动组织为多个迭代、并行的瀑布式开发活动。“需求驱动” 目的:迭代,渐进交付,并行开发优点:有更好的适用性并行开发可以帮助缩短软件产品的开发时间渐进交付可以加强用户反馈 降低开发风险。 缺点:加入构件不能破坏已经构造的部分,需要完备清晰的项目前景。 适用范围:相对稳定、成熟的领域。Incremental iterative model: The long development cycle is divided intomultiple iterations, with one part of the product being submitted at the end of each iteration, and all iterations coming together to deliver the full product Organize development activities intomultiple iterative, parallel waterfall development activities."Demand-driven."Purpose:Iterationincremental deliveryparallel developmentAdvantages:There is better suitabilityParallel developmentcan help reduce development time for software products Progressive delivery can enhanceuser feedbackReduce development risk Disadvantages The addition of building blocks does not destroy the already constructed parts requires a complete and clear project vision Scope of application: relatively stable, mature field演化模型: 在初始开发迭代中,澄清和明确系统的核心需求,建立和交付核心系统。在得到核心系统后,用户在使用的过程中发现变更需求、澄清不确定性需求,反馈给开发人员。开发人员根据用户反馈规划后续迭代,精化和增强系统。多个迭代、并行的瀑布式开发活动。 优点:迭代式开发并行开发渐进交付加强用户反馈缺点无法确定项目范围整体项目计划不好把握后续迭代容易蜕变为Build-Fix模式。适用范围:变更比较频繁不稳定领域的大规模系统开发。 Evolutionary models: During the initial development iteration, clarify and specify thecore requirementsof the system and build and deliver thecore system. After getting the core system, users discover change needs and clarify uncertainty needs in the process of using it and feed it back to developers. Developers plan subsequent iterations to refine and enhance the system based on user feedback. Multiple iterative, parallel waterfall development activities Advantages:iterative developmentparallel developmentProgressive delivery to enhance user feedbackdrawbackInability to define project scopePoor grasp of the overall project planSubsequent iterations easily morph into Build-Fix patternsScope of application: Large-scale system development in the field offrequent changesandinstability.原型模型(Prototyping):注重使用抛弃式原型(不确定部分)而不是演化式原型(成为产品的一部分的原型)。 需求开发部分迭代(抛弃式原型):原型需求→设计原型→构件原型→评估原型。 优点:加强了客户用户的交流,适用于新颖的领域。 缺点:原型方法在避免风险时候带来新的风险不舍得抛弃原型。 适用范围:不确定性较多的软件开发。 Prototyping: focuses on using discarded prototypes (indeterminate parts) rather than evolutionary prototypes (prototypes that become part of the product) Requirements development partial iteration (discarded prototype): prototype requirements → design prototype → building blocks prototype → evaluate prototype Advantages: Enhanced client-user communication, suitable for novel areas. 缺点:The prototype approach introduces new risks when it comes to avoiding them and is not willing to abandon the prototype. Scope of application: Software development with high uncertainty.螺旋模型(Spiral Model):为了尽早解决比较高的风险。风险驱动。 是迭代与瀑布的结合,使用原型解决需求的不确定性 优点:可以降低风险,减少项目因风险造成的损失。 缺点:自身带来风险,模型过于复杂。 适用范围:高风险的大规模软件系统开发。 Spiral Model:To address the higher risks as early as possible. Risk-driven is a combination of iteration and waterfall, using prototypes to solve the uncertainty of the need Benefit: Reduces risk and reduces project losses due to risk. Disadvantages: Self-imposed risk, overly complex model. Scope: High-risk, large-scale software system development. 软件⼯工程知识体系的知识域:(SWEBOK) 第二版:(10个) 软件生命周期知识:(5个) 软件需求软件设计软件构造软件测试软件维护软件工程的工程知识:(5个)(工程配置工具管理过程质量) 软件工程管理软件配置管理软件工程过程软件工程工具和方法软件质量第三版:(新增5个)(职业软件工程师需要学习概率论线性代数高等数学和软件工程) 软件工程职业实践工程经济学基础计算基础数学基础工程基础 C级: Rational统一过程: 软件生命周期:初始,细化,构造交付基础思想:迭代,管理需求,基于组件的体系结构,可视化建模,验证质量,控制变更 RUP裁剪 特点: 吸收借鉴了传统的最佳实践方法 适用面广 有一套软件工具的支持 缺点: 没有考虑交付后的软件维护问题 裁剪和配置工作不是一个简单的任务

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。