《软件工程 ——理论、方法与实践》知识概括第八章 面向对象设计

第8章 面向对象设计

分析模型:功能模型、分析对象模型、动态模型。

一、设计的概念

设计活动 设计也是一个建模活动,它在分析模型的基础上完成实现环境的类建模、状态图建模、协作建模、组件建模、部署建模、持久建模和用户界面原型,实现从需求分析到软件实现之间的跨越。

设计活动划分为系统设计和详细设计等两个主要阶段。

将系统模块化就是讲一个复杂的大系统分解成若干个相对简单的较小部分,称为子系统。子系统是一个定义明确的软件组件,它向其他子系统提供多种服务。

对系统进行层次分解,子系统划分为不同的层次,每一层次使用低层次提供的服务,并为高层次提供服务。系统分解的另一种形式是将系统分解为对等的子系统,每个子系统负责一个不同类型的服务子系统之间相互独立。

耦合度是表示两个子系统之间的关联程度。当一个子系统发生变化时对另一个子系统的影响很小,则称它们是松散耦合;反之,紧密耦合。耦合越低越好。

外部子系统访问语法分析树的两种方式:一种是使用分析树的属性,另一种是通过操作进行调用。

内聚性是子系统内部的相关程度。

系统设计的目标是划分子系统并使子系统之间是高内聚低耦合的,从而提高软件的可理解性和可维护性。

二、软件体系结构

软件体系结构涉及软件系统的总体组织、全局控制、数据存取以及子系统之间的通信协议等。

仓库体系结构,有两种不同的软件部分:一个表示当前的中心数据结构和一组相互独立的处理中心数据的子系统。

分层体系结构 层次化是一种概念,它将软件设计组织成为类或组件的层析或集合,在同一个层次上的类或组件完成一个特定的目的。

MVC体系结构 在MVC体系结构中,仔细划分为不同的三种类型:模型子系统负责存储系统的中心数据;视图子系统负责将模型中的数据展示给用户;控制器子系统负责管理与用户的交互控制。

 客户机/服务器体系结构的两种形式:瘦客户机模型、胖客户机模型。

管道和过滤器体系结构中,数据在不同的子系统之间流动,每一个子系统处理输入的一组数据,并将处理结构输出给其它子系统。这是,子系统称为过滤器,子系统只见得联系称为管道。

三、系统设计

在系统设计阶段,当选择软件体系结构策略之后,需要将分析模型中的分析类与设计模型的设计元素相对应。在确定设计元素之后,需要描述子系统的行为,也就是准确定义接口操作的集合。

常用的数据存储管理有3中方式:数据文件、关系数据库、面向对象数据库。

部署子系统。

系统设计评审。

四、详细设计:方法建模(方法的命名、方法的可见性、BorrowerInfo类的方法建模)、属性建模,状态建模、关系建模。

五、应用设计模式: Abstract Factory模式、Adaptor模式、Bridge模式、Facade模式。

六、用户界面设计

用户设计原则:用户控制式,一致性,个性化,宽容度,反馈,审美和可用性。

时间: 2024-11-09 01:41:50

《软件工程 ——理论、方法与实践》知识概括第八章 面向对象设计的相关文章

软件工程理论方法与实践

第一章. 概述  软件是人类思维的杰作,并成为人类现代生活的催化剂.今天软件遍布整个世界,在生物工程.现代通信.宇宙探索.商务处理.工业控制等方面发挥出巨大的威力,并推动了商业.科学和工程领域的跨越式发展,对整个社会的经济和文化产生了深远的影响.软件工程师为了解决开发成本效益和软件质量的问题而产生的.软件是计算机程序.规程以及运行计算机系统可能需要的相关文档和数据.软件分为通用软件和定制软件.软件的特性分别是软件是复杂的.软件是不可见的.软件是不断变化的.大多数软件是定制的而不是通过已有构件组装

软件工程——理论方法与实践(段落概述第一章至第十一章)

第一章软件软件是计算机程序,规程及运行计算机系统可能需要的文档和数据.软件分为通用软件和定制软件.软件的特性:1.复杂性2.不可见性3.不断变化4.大多数软件仍然是定制的,而不是通过已有的构件组装而成.软件于二十世纪50~60年代,70年代,80年代,90年代至今进行发展.在此过程中遇到一些危机:1.软件的开发成本和进度难以估计,延迟交付甚至取消项目的现象屡见不鲜.2.软件存在着错误多,性能低,不可靠,不安全等质量问题.3.软件的成本在计算机系统的整个成本中所占的比例越来越大.4.软件的维护极其

阅读《软件工程—理论方法与实践》第六章心得体会

面向对象技术是软件工程领域中的重要技术,不仅仅是一种程序设计方法,更是一种对真实世界的抽思维方式.面向对象的软件工程方法涉及到从面向对象分析.面向对象设计.面向对象编程.面向对象测试到面向对象软件维护的全过程.面向对象的基本概念包括对象.类.封装.继承.消息.关联.聚合.多态性.属性和服务是构成对象的两个基本要素.使用共同的建模语言进行软件建模在软件开发过程中很必要(①以一种容易理解的形式为后期使用信息提供了便利的方法,②便于交流).UML富有表达力,描述开发所需要的各种视图,以此为基础组建系统

软件工程理论方法与实践第六章读后感

面向对象技术比较自然的模拟了人类认识客观世界的方式,成为当前计算机软件工程学中的主流方式,具有相同数据和相同操作对象可以归为一个类,对象是对象类的一个实例,类可以派生出子类,子类继承父类的全部特性,面向对象=对象+类+挤成+通信.面向对象的软件工程方法:面向对象分析,面向对象设计,面向对象编程,面向对象设计,面向对象维护, 属相和对象是构成对象的两个基本要素,其定义是,属性是用来面熟对象静态特征的一个数据项,服务是用来描述对象动态特征的一个操作序列,类是具有相同属性和服务的一组对象的集合,封装是

阅读《软件工程—理论方法与实践》第五章心得体会

阅读第五章所了解到的基本知识,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动.主要目的是保证软件的正确性.已建立的形式化方法可分为操作类和描述类.操作类方法基于状态和转移;描述类基于数学公理和概念.形式证明与验证技术主要包括模型检测(适用于有穷状态系统,完全自动化并且验证速度快)和定理证明(采用逻辑公式来表示系统规约及其性质,分为自动和交互式两种).一阶线性时态逻辑是一阶谓词逻辑的扩展.对汉诺塔操作规划问题有了更深一步的理解.计算树逻辑是

阅读《软件工程—理论方法与实践》第一章心得体会

通过对第一章的阅读,软件的划分有了了解,知道了软件是复杂的.不可见的.不断变化的,并且大多数软件是定制的,并不是通过已有构件组装而成的.软件维护是非常困难的,新的修改又会带来新的错误.软件存在多种质量问题,且能成功完成的软件项目的平均率在26%左右.软件工程已关注软件质量为目标,有过程.方法和工具三要素组成.对于软件的质量,对不同的用户角色是不一样的,但他们都有共同的质量要求是可靠性.正确性和有效性.软件工程知识体系被划分10个知识域:软件需求.软件设计.软件构造.软件测试.软件配置管理.软件工

阅读《软件工程—理论方法与实践》第三章心得体会

通过对第三章的阅读,对以下概念有了了解:软件项目管理是为了使软件项目能够按照预定的成本.进度.质量顺利完成,而对成本.人员.进度.质量.风险等进行分析和管理的活动.其有利于将软件开发人员的个人开发能力转化成企业的开发能力,并使企业的软件开发能力不断提高和成熟.软件项目的特征有软件产品的不可见性.项目的高度不确定性.软件过程的多变化性,降低复杂性和控制变化成为软件项目管理面临的关键问题.软件项目管理集中于人员.产品.过程和项目.软件项目的生命周期包括项目启动(确定项目的目标和范围).项目规划(建立

阅读《软件工程—理论方法与实践》第二章心得体会

软件过程是软件工程人员为了获取软件产品而在软件工具的支持下实施的一系列软件工程活动.其基本活动包括:问题提出.软件需求规格说明.软件设计.软件实现.软件确认.软件演化.软件过程产品涉及软件需求.软件设计.软件实现.软件测试和软件实施等活动产生的结果,这些制品通常是在不同的开发活动之间进行转移和演进.常用软件过程模型:瀑布模型(适用于开发的早期阶段软件需求被完整确定的情况).快速原型模型(必须迅速建立原型,随之迅速修改原型,以反映客户的需求).増量模型(可以较好地适应需求的变化).螺旋模型(强调可

软件工程理论方法与实践第五章读后感

形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动,从根本上讲,软件设计过程就是一个建立形式化规约,软件设计的最终产物--程序在进行形式化的过程中涉及到三中系统模型:现实世界,模型表示和计算机系统.软件规格说明是对软件系统对象,对象的操作系统以及对象行为的描述,形式化的规格说明可用自然语言图表等形式来描述,模型检测主要用于有穷状态系统,优点是完全自动化并且验证速度快