版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发生命周期信息系统分析与设计模仿传统工程问题定义可行性研究需求分析设计施工验收维护定义阶段建设阶段计划时期开发时期运行时期建筑物建设过程阶段说明策划决策项目建议书:以自然资源和市场预测为基础,选择建设项目可行性研究:对项目在技术和经济上是否可行进行科学分析和论证勘察设计勘察过程:为设计提供实际依据。复杂工程分为初勘和详勘两个阶段设计过程:一般划分为初步设计和施工图设计两个阶段建设准备按规定做好施工准备,具备开工条件后,建设单位申请开工施工具备了开工条件并取得施工许可证后方可开工生产准备这是由建设阶段转入经营的一项重要工作,包括:招收、培训生产人员;组织有关人员参加设备安装、调试、工程验收;落实原材料供应;组建生产管理机构,健全生产规章制度等竣工验收这是全面考核建设成果、检验设计和施工质量的重要步骤,也是建设项目转入生产和使用的标志考核评价这是工程项目竣工投产、生产运营一段时间后,再对项目的立项决策、设计施工、竣工投产、生产运营等全过程进行系统评价的一种技术活动,是固定资产投资管理的最后一个环节软件开发过程建筑软件开发说明策划决策启动为系统建立业务案例,划定项目范围勘察设计细化细化问题域,建立架构,做项目计划排除项目的高风险元素建设准备施工施工组件开发、产品集成、测试生产准备移交将软件产品移交给客户客户评估移交的软件产品客户基于评估给出反馈信息竣工验收考核评价通用过程框架过程框架(Processframework)保护活动(Umbrellaactivities)框架活动(frameworkactivity#1)软件工程行动
#1.1(Softwareengineeringaction#1.1)任务集(tasksets)
软件工程行动#1.1(Softwareengineeringaction#1.k)……工作任务(worktasks)工作产品(workproducts)质量保证点(Qualityassurancepoints)项目里程碑(projectmilestones)软件过程(Softwareprocess)……通用框架的两类活动支持活动项目跟踪与控制、技术复审、风险管理SQA(软件质量保证)、SCM(软件配置管理)框架活动计划、建模、构造、部署过程流框架活动之间的先后或并行等顺序关系线性过程流:计划
建模
构造
部署迭代过程流:顺序同线性流,但在进入下一活动前,前面的一到多个活动可以重复演化过程流:活动呈环形执行多轮,每轮交付一个更完整的版本并行过程流:有的活动可以并行执行linearprocessflow:fiveframeworkactivitiesinsequence,beginningwithcommunicationandculminatingwithdeployment.Iterativeprocessflowrepeatsoneormoreoftheactivitiesbeforeproceedingtothenext.沟通(Communication)计划(Planning)建模(Modeling)构造(Construction)部署(Deployment)沟通(Communication)计划(Planning)建模(Modeling)构造(Construction)部署(Deployment)Incrementreleased沟通(Communication)计划(Planning)建模(Modeling)构造(Construction)部署(Deployment)Evolutionaryprocessflow:“circular”.Eachcircuitthroughthefiveactivitiesleadstoamorecompleteversionofthesoftware.沟通(Communication)计划(Planning)建模(Modeling)构造(Construction)部署(Deployment)Parallelprocessflow:oneormoreactivitiesinparallelwithotheractivities.软件过程模型类别过程模型说明传统过程模型瀑布经典生命周期模型,强调系统性和顺序性增量线性流+并行流,每个线性序列产生可交付“增量”演化以迭代方式开发越来越完整的软件版本:原型,螺旋模型并发其它过程模型的混合并用,也称并发工程特定过程模型基于组件开发螺旋模型+用预先打包的软件组件构造应用程序形式化方法数学符号,形式化数学规约。净室软件工程是其变体之一AOSD提供定义、说明、设计和构建软件的“方面”的过程和方法统一过程UP用例驱动、以架构为中心、技术和增量个体和团队过程PSP强调对个人生产的工件及其质量的度量TSP建立自组织的“自我导向”项目团队过程模型说明XP极限编程:用沟通、简单、反馈、勇气和尊重驱动XP的活动、行动和任务,使用面向对象范式,强调计划、设计、编码和测试等框架活动ASD自适应软件开发:一种用于构建复杂软件和系统的技术,强调人的协作和团队的自组织,包含推测、协作和学习等阶段Scrum橄榄球赛模型:用于指导包含需求、分析、设计、演化和交付等框架活动的过程中的开发活动DSDM动态系统开发方法:通过在可控项目环境使用增量原型,为有严格时间限定的系统的构建和维护提供一个框架Crystal水晶模型:强调机动性,定义了一组方法、角色、过程模式、工件和实践,对不同类型的项目有效FDD特征驱动开发:主要针对面向对象软件工程,是一个自适应的敏捷过程LSD精益软件开发:采用精益制造,倡导质量为先、反对浪费、创造知识、重视承诺、快速交付、尊重他人、集体意识等。谢谢软件工程与瀑布模型主讲:ISAD信息系统分析与设计软件工程术语起源年份相关事件1965“软件工程”术语首次出现在《COMPUTERSandAUTOMATION)》6月刊。1966《CommunicationsoftheACM)》第9卷第8期,ACM主席安东尼·A·奥廷格在“致ACM同仁的一封信”中正式使用“软件工程”一词。1968弗里德里希·鲍尔在首届软件工程会议上使用“软件工程”作为NATO会议标题。那时人们已经意识到存在“软件危机”。在这个会议上“软件工程”术语被正式确定下来。这次会议标志着软件工程这个新学科的开始。会议报告:我们特意选择“软件工程”这个颇具争议性的词,是为了传递这样一种看法,那就是,软件生产有必要建立在某些理论基础和实践指导上——在工程学的某些成效卓著的分支中,这些理论基础和实践指导早已成为了一种传统。2008德国,加米施,举办“软件工程”40周年纪念会议。20185月27日至6月3日,第40届软件工程国际会议(ICSE2018)在瑞典哥德堡(Gothenburg)举行,弗雷德里克·布鲁克斯(FrederickBrooks)和玛格丽特·汉密尔顿(MargaretHamilton)在全会致辞中敬祝“软件工程”诞生50周年。瀑布模型及其改进SAGE:半自动地面防空系统瀑布过程软件手工艺编码和修复英雄主义硬件工程方法SAGE硬件效率结构化方法形式化方法50年代的硬件工程60年代的手工艺领域理解70年代的瀑布过程要求多样技能不足软硬件差别代码混乱大项目弱计划/控制缺陷多大型软件开发过程程序设计软件需求系统需求分析编码测试运行程序设计软件需求系统需求分析编码测试运行初步程序设计程序设计分析编码测试使用初步设计Royce瀑布模型软件工程相关概念术语说明工程Engineering:拉丁语ingenium(巧妙)和ingeniare(创造、设计)软件工程鲍尔:制定和使用良好的工程原则和方法以经济地获得在真实机器上可靠而有效地工作的软件CMU/SEI:应用计算机科学和数学原理合算地解决软件问题的工程形式IEEE93:(1)把系统化、规范化、可度量的方法应用于软件的开发、运行和维护,即把工程应用于软件;(2)研究(1)中的方法软件开发一个涉及创建和维护应用程序、框架或其它软件组件的过程,包括酝酿、说明、设计、编程、文档化、测试和调试等。编程Programming(程序设计.vs.ProgramDesign):从某计算问题的原始构想到可执行程序的过程,包括分析、理解、得出算法、对算法正确性和性能需求进行验证、编码等活动编码Coding:用目标编程语言实现算法编程分析问题阶段解决问题阶段分析和规范化一般解决方案(设计算法)验证具体解决方案(编写程序)测试维护软件开发软件:应用软件软件框架软件组件酝酿
说明
设计
编程
文档化
测试
调试编码编程语言和工具源程序代码编程程序分析
理解
算法
验证
编码工程软件工程工程软件开发活动创造革新设计建造维护研究改进…对象结构机器工具系统组件材料过程方案组织知识数学科学经济社会实践谢谢统一过程模型主讲:ISAD信息系统分析与设计瀑布过程结构化方法形式化方法70年代80年代的生产率领域理解90年代的并行过程50年代的技能不足进化性重用性从生产率到并行过程面向对象方法标准化,CMM不遵从软件工厂过程至上4GL,CAD/CAM,用户编程新世纪的敏捷过程敏捷方法人的因素集成系统&SE集成系统&人的因素并行,风险驱动的过程人机交互,COTS互联网兴起缺乏可伸缩性特定领域,架构,产品线重用快速组合,演化环境快速变更慢速执行快速变更缺乏可伸缩性快速变更结合敏捷,计划驱动的方法面向服务,模块驱动的方法暗箱操作缺乏可伸缩性快速变更过程繁缛广受欢迎缺各有优缺点的面向对象方法Booch’93:布奇,在设计、构造阶段效率高OOSE:雅各布森,主要用于需求获取和分析阶段OMT:罗姆堡,更适合信息系统1994,Booch’93+OOSE+OMT
UML1996,OMG发布UML标准化提案请求,得到大型软件公司支持并建立了UML联盟UML是一门用于说明、构造、可视化和文档化一个软件密集型系统的工件的语言工件:需求、构架、设计等阶段产出的类、对象、接口、源码、测试、原型、软件系统版本等软件密集型系统:诸如银行、医疗、保险、国防、航空等高端企业解决方案说明:开发团队可以用类、对象和接口等符号定义软件系统的范围和内容构造:可以利用UML模型生成代码或利用代码生成UML模型可视化:利用UML可以创建图形来表示软件系统以便更好地理解其结构和内容文档化:可以在软件生命周期的各阶段使用图作为输入文档统一建模语言建设大厦软件开发基本要素水泥、沙子、砖块、塑料、铁件静态、动态、分组、符号关系房间的门、窗口开闭依赖、关联、泛化、实现构成卧室、厨房、卫生间包建模技术图说明需求建模用例系统所执行的操作,包含用例、角色、它们的关系静态建模类一组类、接口、它们的关系对象类图的实例动态建模协作对象之间以消息的形式进行交互,强调对象的结构化组织时序对象之间按时间顺序以消息的形式进行交互活动类所执行的操作,从一个活动到另一个活动的控制流程状态类对发生事件的反应架构建模组件组件及其依赖性,包或单个实体结合可构成组件部署组件的在网络节点的物理位置统一过程生命周期一个周期由开始、精化、构造和移交等阶段构成每阶段有一个里程碑每周期产生一代产品核心工作流工程:业务建模、需求、分析与设计、实现、测试、部署支持:项目管理、配置和变更管理、环境一个项目的整个工作流中,这些工作流是交叠的谢谢软件过程改进主讲:ISAD信息系统分析与设计1985,DoD(美国防部)委托CMU/SEI开发SW-CMM(软件能力成熟度模型)过程成熟度:SEI提出的一个衡量软件过程的概念,目的是定义一个软件企业达到不同过程成熟度时应具有的软件工程能力。CMM是相应的指南,用于指导软件企业控制软件开发和维护过程,逐步构建企业自己的软件工程文化和卓越的管理能力。IEEE把过程定义为“为给定目的执行的一系列步骤”,即一种产生一些事情的运行机制以及一系列达成某个目的或结果的行动、变化或功能。软件过程:用于开发和维护软件及相关工件(如项目计划、设计文档、代码、测试用例、用户手册等)的一系列活动、方法、实践和转换。一个软件公司越成熟,其软件过程就越明确。软件过程能力描述了遵循软件过程达成预期结果的范围,关注预期结果。软件过程性能表示遵循软件过程达成的实际结果,关注实际结果。软件过程成熟度:一个具体过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会计行业审计项目经理KPI考核表
- 工业自动化企业系统调试与运行维护指南
- 感恩教育:回报身边的人小学主题班会课件
- 物理设备故障维护与修复计划
- 小学主题班会课件:诚实守信促成长团结协作展风采
- 迪庆州一级造价工程师考试模拟题及答案:(建设工程计价)(2026年)
- 销售团队关于月度业绩的总结报告确认函6篇范本
- 小学主题班会课件:诚信立身诚实做人
- 主题七:小学主题班会课件-心理健康快乐成长
- 2026年西式面点师(中级)考试题库及答案
- TSG-21-2016-固定式压力容器安全技术监察规程
- oa安全保密管理制度
- DB33- 1001-2003:建筑地基基础设计规范
- 《医疗器械知识培训》课件
- 车辆配装配载方案
- GB/T 14233.3-2024医用输液、输血、注射器具检验方法第3部分:微生物学试验方法
- DL∕T 5210.4-2018 电力建设施工质量验收规程 第4部分:热工仪表及控制装置
- 智研数据中心部分可吸收止血材料市场调研分析报告
- HG+20231-2014化学工业建设项目试车规范
- 高一入学分班考试-数学试题含答案
- 中风病-《中医内科学》课件
评论
0/150
提交评论