《软件工程》第九章 面向对象方法学引论 作业

1.什么是面向对象方法学?它有哪些优点?

     面向对象的方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间与实现解法的解空间(也称问题域与求解域)在结构上尽可能一致。

     其优点在于——

      1)与人类习惯的思维方法一致:开发过程符合人们认识客观世界解决复杂问题时逐步深化的渐进过程;

      2)稳定性好:由于现实世界中的实体是相对稳定的,因此,以对象为中心构造的软件系统也是比较稳定的;

      3)可重用性好:对象是比较理想的模块和可重用的软件成分,面向对象的软件技术所实现的可重用性是自然的和准确的,是软件重用技术中最成功的一个;

      4)较易开发大型软件产品:可以把一个大型软件产品分解成一系列本质上相互独立的小产品来处理,降低了成本的同时提升了软件整体质量;

      5)可维护性好:原因在于稳定性较好、易修改、易理解、易于测试和调试。

2.UML是什么?如何支持软件开发过程。

     Unified Modeling Language,统一建模语言,作为基于面向对象技术的标准建模语言,是一种编制软蓝图的标准化语言,它的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML 提出了一套 IT 专业人员期待多年的统一的标准建模符号。通过使用UML,这些人员能够阅读和交流系统架构和设计规划。UML支持面向对象的技术,能够准确的方便地表达面向对象的概念,体现面向对象的分析和设计风格。

     UML提供多种模型元素,多种类型的模型描述图以及多种视图以支持开发过程的不同阶段——

元素

实体:类

关系:关联、泛化、依赖与细化等

静态:用例图、类图、对象图、构件图、部署图、包图等

动态:状态机图、活动图、交互图等

视图

用例视图

描述可被最终用户、分析人员和测试人员看到的系统(外部)行为,不涉及系统的内部结构,但却是系统体系结构设计的驱动力

设计视图

描述系统设计方案,主要包括类、接口以及相互之间的协作关系

交互视图

展示系统不同部分之间的控制流,包括并发和同步机制,主要针对系统的非功能性方面,相较设计视图突出控制系统的主动类以及各部分间消息的流动

实现视图

描述组成最终产品发布的相关制品及其关系,实现单元体现为可装配、打包并发布的文件,体现了逻辑单元(类和构件)到物理制品(物理构件、文件等)的映射

部署视图

描述最终产品物理部署的拓扑结构,包括组成整个系统的各种分布式硬件设备,以及各个软件模块在这些设备上的部署和运行关系

3.什么是用例图?用例图有什么作用?

     用例图是进行需求分析和建立功能模型的强有力工具,一副用例图包含的模型元素有系统、行为者、用例及用例之间的关系。用例图捕捉了模拟系统中的动态行为,并且描述了用户、需求以及系统功能单元之间的关系,展示了一个外部用户能够观察到的系统功能模型图。

     用例图的作用可简单归纳为:获取需求、指导测试、在建模过程中对其它工作流起到指导作用。

4.面向对象分析有哪三类模型?简述每类模型的作用。

     通常,人们从三个互不相同而又密切相关的角度建立起三种不同的模型,即描述系统静态结构的对象模型、描述系统控制结构的动态模型、以及描述系统计算结构的功能模型。

  • 对象模型

     表示静态的结构化的系统的“数据”性质,是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。对象模型为建立动态模型和功能模型,提供了实质性的框架,因此是最基本、最核心、最重要的。

  • 动态模型

     表示瞬时的、行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列。一旦建立起对象模型之后,就需要考察对象的动态行为。所有对象都具有自己的生命周期(或称运行周期)。

  • 功能模型

     表示变化的系统的“功能”性质,它指明了系统应该“做什么”,因此更直接地反映了用户对目标系统的需求,通常由一组数据流图组成。在面向对象方法学中,数据流图远不如在结构分析、设计方法中那样重要。与对象模型和动态模型比较起来,数据流图并没有增加新的信息,但是,建立功能模型有助于软件开发人员更深入地理解问题域,改进和完善自己的设计。

5.试用面向对象观点分析、研究订货系统的例子。在这个例子中有哪些类?试建立订货系统的对象模型。

     类有仓库管理员、采购员、订货信息和库存清单。

     用UML类图建立对象模型:

 

《软件工程》第九章 面向对象方法学引论 作业_第1张图片

6.建立订货系统的用例模型。

《软件工程》第九章 面向对象方法学引论 作业_第2张图片


               初学者手写作业,对问题叙述较为简单浅显,仅作为学习过程记录。

               欢迎指正与讨论!

你可能感兴趣的:(《软件工程》)