版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
统一建模语言班级:B110407-08、B110412-13上课地点:教3-202上课时间:星期二,下午第6、7节星期四,上午第1、2节第2讲:软件开发过程2.1面向对象的软件开发软件开发过程问题空间(现实世界)解空间(软件系统)映射第2讲:软件开发过程2.1面向对象的软件开发传统软件开发方法存在的问题1.传统软件开发方法无法实现从问题空间到解空间的直接映射。2.传统软件开发方法无法实现高效的软件复用,原因是:传统软件开发方法数据与代码(操作)分离。3.传统软件开发方法难以实现从分析到设计的直接过渡。问题空间(现实世界)解空间(软件系统)复杂映射复杂转换分析文档(DFD)设计文档(SC)第2讲:软件开发过程2.1面向对象的软件开发面向对象的软件开发(Object-OrientedSoftwareDevelopment)法:一种把面向对象的思想应用于软件开发过程,指导开发活动的系统方法。面向对象的思想最初出现于挪威奥斯陆大学和挪威计算机中心共同研制的Simula67语言中随着的Smalltalk76和80语言推出,面向对象的的程序设计方法得到了比较完善的实现。第2讲:软件开发过程2.1面向对象的软件开发面向对象的基本概念
类(Class)对象(Object)消息(Information)多态性(Polymorphism)继承(Inheritance)永久对象(Persistentobject)第2讲:软件开发过程2.1面向对象的软件开发面向对象的软件分析获取用户基本需求标识类和对象定义类的结构和层次表示类(对象)间的关系为对象行为建模第2讲:软件开发过程2.1面向对象的软件开发面向对象的软件分析模型对象层特征层关系层交互图主题图详细说明基本模型(类图)第2讲:软件开发过程2.1面向对象的软件开发面向对象的软件分析模型(OOA)对象层特征层关系层交互图主题图详细说明基本模型(类图)基本模型是一个类图(classdiagram),是以直观的方式表达系统最重要的信息。OOA基本模型的三个层次分别描述了:系统中应设哪几类对象,每类对象的内部构成,对象与外部的关系。第2讲:软件开发过程2.1面向对象的软件开发面向对象的软件分析模型对象层特征层关系层交互图主题图详细说明基本模型(类图)主题(subject)又称为子系统(subsystem)是将一些联系密切的类组织在一起的类的集合。按照粒度控制原则,将系统组成几个主题,便于理解。第2讲:软件开发过程2.1面向对象的软件开发面向对象的软件分析模型对象层特征层关系层交互图主题图详细说明基本模型(类图)交互图(interactiondiagram)是Usecase(用例)与系统成分之间的对照图。主题图和交互图又称为补充模型。第2讲:软件开发过程2.1面向对象的软件开发面向对象的软件分析模型对象层特征层关系层交互图主题图详细说明基本模型(类图)详细说明按照分析方法所要求的格式,对分析模型进行说明和解释。主要以文字为主。第2讲:软件开发过程2.1面向对象的软件开发面向对象的软件设计(OOD)将OOA所创建的分析模型转换为设计模型,解决如何做的问题OOD与OOA没有明显的分界,采用相同的符号面向对象设计准则:1)模块化 2)抽象3)信息隐藏4)弱耦合5)强内聚6)可重用第2讲:软件开发过程2.2
Rational统一过程当前流行的软件过程现在软件规模越来越大,复杂程度也越来越高,如果在软件开发和维护过程中缺乏有效的管理和控制,对一个软件企业而言是非常不利的。采用有效的软件过程为实现这些目标提供了良好的基础。目前,使用比较广泛的软件过程主要包括以下几种:(1)RationalUnifiedProcess(RUP)(2)OPENProcess(3)Object-OrientedSoftwareProcess(OOSP)(4)ExtremeProgramming(XP)(5)Catalysis(6)DynamicSystemDevelopmentMethod(DSDM)第2讲:软件开发过程2.2
Rational统一过程传统开发模型1.瀑布模型瀑布模型由B.M.Boehm于1970年首先提出。瀑布模型将软件生存周期划分为6个阶段,是一种线性模型。各阶段活动为:需求分析、设计、实现、测试、运行和维护。第2讲:软件开发过程2.2
Rational统一过程传统开发模型1.瀑布模型每个开发阶段具有以下特征:将上一阶段的结果作为本阶段工作的输入;对上述输入实施本阶段的活动;给出本阶段的工作成果作为输出传入下一阶段;对本阶段工作进行评审,若本阶段工作得到确认,则继续下阶段工作,否则返回前一阶段。第2讲:软件开发过程2.2
Rational统一过程传统开发模型2.螺旋模型Boehm首先提出螺旋模型。螺旋模型使用原型作为降低风险的机制,开发者在产品演化任意阶段均可使用原型方法第2讲:软件开发过程2.2
Rational统一过程传统开发模型2.螺旋模型它保持了传统生命周期模型中系统的、阶段的方法,但将其并入了迭代框架,更加真实地反映了现实世界。第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)二维开发模型在RUP中,软件开发生命周期根据时间和RUP的核心工作流划分为二维空间。第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)二维开发模型在RUP中,工作流横轴表示项目的时间维,是过程展开的生命周期特征,体现开发过程的动态结构。第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)9个核心工作流,分为6个核心过程工作流(CoreProcessWorkflows)和3个核心支持工作流(CoreSupportingWorkflows)。第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)四个阶段:软件产品生命周期被分成单独的开发周期:初始(先启)、细化(精化)、构造、发布(产品化)第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)四个阶段初始(先启):定义整个项目的范围细化(精化):制定项目计划、描述功能、建立架构框架构造(构建):构造软件产品发布(产品化):将软件产品移交到最终用户手中先启精化构建产品化时间第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)四个阶段:阶段结束标志着重要的里程碑初始(先启):定义整个项目的范围细化(精化):制定项目计划、描述功能、建立架构框架构造(构建):构造软件产品发布(产品化):将软件产品移交到最终用户手中生命周期目标里程碑生命周期体系架构里程碑初始可运行能力里程碑产品发布时间先启精化构建产品化第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)迭代开发模型:每阶段可进一步分解为迭代。一个迭代是一个完整的开发循环,产生一个可执行的产品版本,是最终产品的一个子集,它增量式地发展,从一个迭代过程到另一个迭代过程到成为最终的系统。第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)软件过程的定义软件过程定义由谁在什么时候做什么事情,并且如何去达到一定的目标用RUP的四种主要建模元素角色,活动,制品,工作流来表达新需求或需求变更新系统或系统变更软件过程第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)角色执行活动并产生制品角色活动制品描述一个用例用例包用例负责需求阐释者角色被要求执行的工作单元角色可由单个人或一个团队扮演由过程生成,修改或使用的一段信息第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)工作流描述有意义的活动序列第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)需求捕获工作流:需求捕获就是通过对应问题的理解和分析,确立问题涉及的信息、功能和系统行为、将用户需求精确化、完全化第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)分析工作流:分析的主要工作开始于初始阶段结尾,和需求一样是细化阶段的主要焦点。细化阶段的大部分活动是捕获需求,分析工作与需求捕获在很大程度上重叠。第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)设计工作流:主要工作位于细化阶段的最后部分和构造阶段的开始部分。系统建模最初的焦点是需求和分析,在分析活动逐步完善后,建模的焦点开始转向设计。第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)实现工作流:实现是把设计模型转换成可执行代码的过程。从系统分析师或系统设计师的角度看,实现工作流的重点就是完成软件系统的可执行代码。第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)测试工作流:在完成需求捕获、分析、设计、实现等阶段的开发后,得到了源代码,这时就必须开始寻找软件产品中可能存在的错误与缺陷。第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)测试工作流:在完成需求捕获、分析、设计、实现等阶段的开发后,得到了源代码,这时就必须开始寻找软件产品中可能存在的错误与缺陷。第2讲:软件开发过程2.2
Rational统一过程RUP(RationalUnifiedProcess)所有的过程元素(角色,活动,制品等)被划分至不同的逻辑容器,称为规程规程产生模型OKOKFail被实现被实施被验证实施模型测试模型设计模型用例模型模型规程测试实施分析和设计需求业务用例模型业务建模业务对象模型BBBB被实现被自动化第2讲:软件开发过程2.3
敏捷开发敏捷宣言人和交互重于过程和工具可以工作的软件重于求全责备的文档客户合作重于合同谈判随时应对变化重于循规蹈矩。团队方法论工具第2讲:软件开发过程2.3
敏捷开发敏捷核心价值观沟通简单反馈勇气尊重团队方法论工具第2讲:软件开发过程2.3
敏捷开发敏捷特点周期短周期开发,提供及早的、具体的、持续的反馈。增量增量开发。迅速地提出总体计划,并在项目生命周期中不断演化。反应灵活安排功能地实现,以对变化的业务需求作出反应。自动使用由程序员和测试人员编写的自动化测试来监控开发进度,支持系统演化,并尽早发现缺陷。第2讲:软件开发过程2.3
敏捷开发敏捷特点交流通过口头沟通、测试和源代码来交流系统的结构和意图。设计渐进式的设计过程贯穿整个系统生命周期。协作依赖于能力普通但能积极参与的程序员之间的紧密协作。实践各种实践兼顾项目成员的短期直觉和项目的长期利益。第2讲:软件开发过程2.3
敏捷开发敏捷功能
提倡短周期发布,这样任何延迟的范围都是有限的。一个发布周期内,计划许多小任务以保证团队可以在该周期内解决问题。提倡优先实现高优先级的功能。-最小发布必须是满足最大商业意义的,选择团队中面向业务的成员来承担。自动化测试,每次代码改动后运行,确保质量底线。保证系统处于可部署状态,不允许出现问题的积累。进度延迟项目取消系统恶化-既包含每个函数的单元测试,也包含专门测试人员的功能测试。缺陷率第2讲:软件开发过程2.3
敏捷开发敏捷功能
业务人员成为团队人员,项目规格说明在开发过程中不断改进。
由于缩短了发布周期,因此极大减少变更带来的影响。拥抱变化,利用重构解决变更带来的技术问题。
坚持只解决最高优先级的任务。业务误解业务变更错误特性太多
团队开发模式,鼓励新成员承担越来越多的责任,互相帮助。要求程序员自己估算自己的工作时间并完成。人员流动第2讲:软件开发过程2.3
敏捷开发敏捷基本实践基本富含信息的空间坐到一起迭代结对编程完整团队增量设计持续集成测试先行编程第2讲:软件开发过程2.3
敏捷开发敏捷扩展实践扩展团队连续性真实客户参与单一代码库共享代码增量部署代码和测试第2讲:软件开发过程2.3
敏捷开发敏捷:精益思维站在终端用户的角度观察生产线,视任何未生产的增值活动为浪费,并通过持续地消除浪费达到快速交付,高质量和低成本地结果第2讲:软件开发过程2.3
敏捷开发敏捷与传统的比较传统思维是员工的问题尽量优化各部门的工作快速交付和高质量意味着多花钱流程应”强壮“一些,把所有的保险都打开,“小”问题会被吸收针对个人进行考核激励并管理员工谁犯的这个错了解并做好你的工作为了更好的预测,做个全面的分析大而集中能提高效率精益思维是流程的问题系统思考,优化整体快速交付和高质量互为手段目的流程应”脆弱“一些,任何小问题都可以迫使它终止针对流程进行考核清除员工面临的障碍,开发员工是甚么让错误发生了我的工作如何配合其它部分只有频繁的预测才是可依赖的方法小而灵活才是美第2讲:软件开发过程实验工具:IBMRationalSoftwareArchitect(RSA)RSA是一个基于UML2.1的可视化建模和架构设计工具构建在Eclipse开源框架之上,它具备了可视化建模和模型驱动开发(Model-DrivenDevelopment)的能力。支持普通的分布式应用、WebServices等。采用UML2.1规范,将UML规范更新为最新的2.1版本。搜索功能的改进模型可用性的改进第2讲:软件开发过程实验工具:IBMRationalSoftwareArchitect(RSA)RSA主界面第2讲:软件开发过程实验工具:IBMRationalSoftwareArchitect(RSA)RSA支持十种图名称用途类图(ClassDiagram)类图是使用得最为广泛的UML图之一。它使用类和接口来描述组成系统的实体以及它们之间的静态关系。利用类图可以生成源代码作为搭建系统的框架。组件图(ComponentDiagram)组件图描述了系统实现的组成和相互依赖。它能够将小的事物(例如类)组装成更大的、可以部署的部件。组件图的详细程度取决于你想展现什么。组合结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省广州市越秀区2020-2021学年七年级上学期期末生物试题(含答案)
- 班级的“粘合剂”课件-2025-2026学年高一下学期团结主题班会
- 2026年结构化面试中时间管理与答题效率提升
- 2026年县级孤儿基本生活保障政策知识竞赛题
- 2026年医院内部培训体系建设题目
- 2026年青年干部科研人员减负知识竞赛题库
- 2026年大学生综合能力培养与测试题集
- 2026年巡视整改长效机制建设知识测试试题
- 2026年四大策略助力突破四级考试瓶颈
- 2026年新领域新业态人工智能等知识产权保护政策试题
- 血管性痴呆教学课件
- 我国档案服务行业监理问题及解决方案
- 2025江苏连云港海州区国有企业第二次招聘工作人员24人笔试历年典型考点题库附带答案详解试卷3套
- 2025青岛海湾集团有限公司招聘笔试历年备考题库附带答案详解试卷2套
- 2025年矿业公司入职考试题及答案
- 服务区业务知识培训课件
- 环卫保洁专业知识培训课件
- 学堂在线中国经济概论期末考试答案
- 电容器测试讲解
- 实施指南(2025)《JC-T 2822-2024 水泥替代原料》
- 股动脉解剖课件
评论
0/150
提交评论