《软件开发的方法学.ppt》由会员分享,可在线阅读,更多相关《软件开发的方法学.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 软件开发的方法学学习目标:学习目标:理解软件生产的经典阶段理解软件生产的经典阶段 比较静态(结构化)建模和动比较静态(结构化)建模和动态(基于时间的)建模态(基于时间的)建模 理解理解UMLUML的表示法的表示法第5章 软件开发的方法学5.1 引言方法学方法学:做事的系统方法、一:做事的系统方法、一个可接受的过程个可接受的过程适用于软件的整个生命周期,适用于软件的整个生命周期,即自软件开发的早期阶段至已即自软件开发的早期阶段至已安装系统的维护。安装系统的维护。2022/12/42第5章 软件开发的方法学引言方法学涉及软件开发、阶段管方法学涉及软件开发、阶段管理、资源管理、规划、调度和理
2、、资源管理、规划、调度和其他管理任务的建议或技术其他管理任务的建议或技术优秀的、适用范围广的方法学优秀的、适用范围广的方法学是成熟软件业的基础。是成熟软件业的基础。2022/12/43第5章 软件开发的方法学5.2 软件开发中的经典阶段需求需求分析分析设计设计规范规范实现实现测试测试部署部署维护维护2022/12/44第5章 软件开发的方法学5.2.1 需求需求包括:需求包括:业务需求业务需求:反映了组织机构或客:反映了组织机构或客户对系统、产品高层次的目标要户对系统、产品高层次的目标要求求 用户需求用户需求:描述了用户使用产品:描述了用户使用产品必须要完成的任务必须要完成的任务 功能需求功能
3、需求 :定义了开发人员必定义了开发人员必须实现的软件功能,使得用户能须实现的软件功能,使得用户能完成他们的任务,从而满足了业完成他们的任务,从而满足了业务需求。务需求。非功能需要非功能需要:对系统性能、界面:对系统性能、界面等的要求等的要求2022/12/45第5章 软件开发的方法学5.2.2 分析分析分析:(从用户角度)对问题:(从用户角度)对问题域中事物的识别和它们之间相域中事物的识别和它们之间相互关系的判定互关系的判定2022/12/46第5章 软件开发的方法学5.2.3 设计设计设计:(从系统角度)解决系:(从系统角度)解决系统如何实现问题,将分析过程统如何实现问题,将分析过程所创建的
4、分析模型转化成设计所创建的分析模型转化成设计模型,如体系结构、类等等模型,如体系结构、类等等2022/12/47第5章 软件开发的方法学5.2.4 规范规范规范:对软件开发过程的清晰、:对软件开发过程的清晰、明确的描述,指出软件组件的明确的描述,指出软件组件的用法、如何正确操作用法、如何正确操作规范是按合同设计的、至关重规范是按合同设计的、至关重要的底层规则要的底层规则2022/12/48第5章 软件开发的方法学5.2.5 实现实现实现:编写代码,形成子系统,:编写代码,形成子系统,各种子系统协同工作,形成整各种子系统协同工作,形成整个系统个系统2022/12/49第5章 软件开发的方法学5.
5、2.6 测试测试测试:根据系统需求验证系统:根据系统需求验证系统的实现的实现包括单元测试、集成测试和移包括单元测试、集成测试和移交测试交测试2022/12/410第5章 软件开发的方法学5.2.7 部署部署部署:将硬件和软件交付给最:将硬件和软件交付给最终用户,并提供手册和培训材终用户,并提供手册和培训材料料2022/12/411第5章 软件开发的方法学5.2.8 维护维护维护:包括改正性维护、完善:包括改正性维护、完善性维护和适应性维护性维护和适应性维护2022/12/412第5章 软件开发的方法学5.3 软件工程和瀑布方法学(略)(略)2022/12/413第5章 软件开发的方法学5.4
6、新方法学螺旋式方法学螺旋式方法学迭代式方法学迭代式方法学递增式方法学递增式方法学合并式方法学合并式方法学2022/12/414第5章 软件开发的方法学5.5 面向对象的方法学20世纪世纪90年代中叶,最著名的年代中叶,最著名的方法学是方法学是Ivar Jacobson、James Rumbaugh和和Grady Booch发明的方法学发明的方法学1996年,年,Jacobson和和Rumbaugh合并为合并为Rational公公司,开发出一系列表示法,称司,开发出一系列表示法,称为统一建模语言(为统一建模语言(UML)之后,之后,UML由对象管理组由对象管理组(OMG)保管和改进)保管和改进2
7、022/12/415第5章 软件开发的方法学面向对象的方法学UML采用螺旋式、迭代式和采用螺旋式、迭代式和递增式方法实现对软件的分析递增式方法实现对软件的分析和设计,称之为和设计,称之为Rational Unified Process(RUP)2022/12/416第5章 软件开发的方法学5.6 Ripple概述Ripple是一种方法学,吸收了是一种方法学,吸收了所有软件开发涉及的阶段,适所有软件开发涉及的阶段,适合真正的系统开发合真正的系统开发Rational Unified Process(RUP)是)是Ripple的具的具体体现体体现对于对于Ripple,采用,采用UML表示法表示法进行
8、描述进行描述2022/12/417第5章 软件开发的方法学UML图1.1.用例(用例(Use CaseUse Case)图)图:对系:对系统的使用方式(或功能)分统的使用方式(或功能)分类类2.2.类(类(ClassClass)图)图:显示类及其:显示类及其类之间的相互关系类之间的相互关系3.3.对象(对象(ObjectObject)图)图:显示对:显示对象及其对象之间的相互关系象及其对象之间的相互关系4.4.活动(活动(ActionAction)图)图:显示人:显示人或对象的活动,类似流程图或对象的活动,类似流程图2022/12/418第5章 软件开发的方法学UML图5.5.状态(状态(St
9、ationStation)图)图:显示生:显示生命周期比较复杂对象的各种命周期比较复杂对象的各种状态状态6.6.协作(协作(CollaborationCollaboration)图)图:显示在某种情形下对象之间显示在某种情形下对象之间发送的消息发送的消息7.7.时序(时序(SequenceSequence)图)图:与协:与协作类似,强调顺序作类似,强调顺序8.8.包(包(PackagePackage)图)图:显示相关:显示相关类的组合关系类的组合关系2022/12/419第5章 软件开发的方法学UML图9.9.部署(部署(DeployDeploy)图)图:显示安:显示安装已完成系统的机器、过程装已完成系统的机器、过程和部署软件和部署软件10.10.组件(组件(ComponentComponent)图)图:显示:显示可重用的组件(对象或子系可重用的组件(对象或子系统)及其接口统)及其接口2022/12/420
限制150内