【软件工程】面向对象的设计

面向对象分析是获取和认识用户需求,对问题领域进行分析、确认并建立问题域概念模型的一个过程。而面向对象设计(OOD)则是从计算机技术的角度,将分析阶段得到的概念模型转换成软件系统的技术实现方案,并在功能、性能及成本方面满足用户和质量要求的过程。是一个将问题空间中的面向对象模型转换为求解空间中的技术实现模型的过程。

分析是提取和整理用户需求,并建立问题域精确模型的过程。设计则是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。分析和设计是一个多次反复迭代的过程,许多分析结果可以直接映射成设计结果,而在设计过程中又往往会加深和补充对系统需求的理解,从而进一步完善分析结果。

面向对象分析的任务

问题域子系统的设计、人机交互子系统的设计、任务管理子系统的设计和数据管理子系统的设计

问题域子系统设计

面向对象分析得到问题域精确模型,为设计问题域子系统奠定基础。面向对象设计仅从实现角度对问题域模型进行了补充或修改面向对象方法开发软件,保证问题域组织框架的稳定性,便于追踪分析,设计,编程的结果。问题域子系统是软件系统中定义问题、表达类和对象静态结构和动态交互关系的求解型,它是软件系统的核心。

主要内容:

1.按照需求信息的最新变动调整并修改模型

2.调整和组合问题域中的类

3.调整对象模型中继承的支持级别

4.改进系统性能

5.增加底层细节

人机交互子系统的设计

人机交互部分突出人如何命令系统以及系统如何向用户提交信息。该部分的友好性直接关系到软件系统的成败。

设计原则:

1.界面力求简单,友好

2.有一定的容错或纠错机制

3.符合用户使用习惯。

界面元素以window为标准形式。

命令层次,采用过程抽象机制,将系统功能以命令形式组织起来。

1.排好次序

2.整体—部分关系

3.宽度和深度合理

4.操作步骤简捷

任务管理子系统设计

软件系统是完成系统任务的一个逻辑实体。在软件系统所完成的任务中,有些任务是顺序完成的,而有些任务必须以并发交替的方式完成。常见的任务有事件驱动型任务、时钟驱动型任务、优先任务、关键任务和协调任务等。设计任务管理子系统,包括确定各类任务并把任务分配给适当的硬件或软件去执行。

数据管理子系统

数据管理子系统的作用是:在某种数据库管理系统的支持下提供数据存储和访问的协调、控制功能。

数据存储管理的影响系统的功能和性能3种模式,

1.文件管理系统

2.关系数据库管理系统

3.面向对象数据库管理系统

时间: 12-09

【软件工程】面向对象的设计的相关文章

13商软 《软件工程》课程设计

广州商学院 计算机系 系(部) 2015 — 2016 学年第(1)学期 <软件工程>课程设计 一.课程简介及基本要求 软件工程是一门指导软件开发和维护的工程学科,主要内容包括:软件项目管理.结构化分析和设计.面向对象的分析和设计.用户界面设计.软件测试.软件维护.软件配置管理等等. 本课程要求学生完成软件工程课程的学习后,以小组为单位,完成一个小型软件项目的开发.通过上机实践加深学生对软件工程知识的理解和综合应用,熟悉并掌握一般系统软件的设计方法和过程,掌握软件开发的传统方法和最新方法.初步

.NET 高级架构师0005 架构师之路(4)---面向对象的设计原则

1         OO的设计原则 采用面向对象的分析和设计思想,为我们分析和解决问题提供了一种全新的思维方式.我们在拿到需求之后(略去OOA,以后补全),接下来的问题就是:如何对系统进行面向对象的设计呢? 按照软件工程的理论,面向对象的设计要解决的核心问题就是可维护性和可复用性.尤其是可维护性,它是影响软件生命周期重要因素,通常情况下,软件的维护成本远远大于初期开发成本. 一个可维护性很差的软件设计,人们通常称之为"臭味"的,形成的原因主要有这么几个:过于僵硬.过于脆弱.复用率低或者

《软件工程》课程设计-团队成立

<软件工程>课程设计-团队成立 <软件工程>课程设计-团队成立 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统WEB 重案组成员   姓名 学号 博客链接 Github链接 队长 黄冠锋 201406114134 http://www.cnblogs.com/hgf520/ https://github.com/crown999   卢利钦 201406114130 http://www.c

面向对象的设计思想

博主之间是做 Linux  C++ 软件开发的,深刻地领悟到了面向对象的设计思想.但新的工作岗位是做嵌入式开发的,用的是C语言,突然有一点不太习惯. C语言是一种面向过程的语言,它本身不像C++具备面向对象的功能,但是这不等于说C就不能写出面向对象的软件. 博主看过许多比较出名的开源软件,如:dbus, avahi, cunit,虽然它们都是用C语言来实现的,但它们都融入了面向对象的设计思想,到处都是面对象的影子. dbus 中的 DBusString 对象就类似于 C++中的 std::str

面向对象的设计原则

面向对象设计原则是学习设计模式的基础,每一种设计模式都符合某一种或者多种面向对象设计原则.通过在软件开发中使用这些原则可以提高软件的可维护行和可用性,让我们可以设计出更加灵活也更加容易扩展的软件系统,实现可维护可复用的目标.在使用面向对象的思想进行系统设计时,前人共总结出了7条原则,它们分别是:单一职责原则.开闭原则.里氏替换原则.依赖注入原则.接口分离原则.迪米特原则和合成复用原则. 1.单一职责原则(SRP) 单一职责原则的核心思想就是:系统中的每一个对象都应该只有一个单独的职责,而所有对象

面向对象思想设计原则 及常见设计模式

1.面向对象思想设计原则 在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象的思想的设计原则. 1)单一职责原则:就是开发人员经常说的”高内聚,低耦合”.也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个.在设计模式中,所有的设计模式都遵循这一原则. 2)开闭原则:一个对象对扩展开放,对修改关闭.也就是说,对类的改动是通过增加代码进行的,而不是修改现有代码.软件开发人员一旦写出了可以运行的代码,就不应该去改动它,而是要保证它能一直

第2章 面向对象的设计原则(SOLID):3_依赖倒置原则

3. 依赖倒置原则(Dependence Inversion Principle,DIP) 3.1 定义 (1)要依赖抽象,不要依赖具体的实现类.简单的说就是对抽象(或接口)进行编程,不要依赖实现进行编程,这样就降低了客户与实现模块间的耦合.包含3层含义: ①高层模块不应依赖低层模块,两者都应该依赖于抽象 ②抽象不应该依赖细节 ③细节应该依赖于抽象 (2)何为“高层模块”和“低层模块” ①“低层模块”:每个逻辑的实现都是原子逻辑组成,不可分割的原子逻辑就是低层模块.一般和具体实现相关. ②“高层

《转》面向对象类设计原则

面向对象类的设计原则 1                 SRP(单一职责原则) 这个原则看起来很简单,就是说一个类只能承担一个职责. 但这里有一个关键:"职责"是如何理解的? 按照汉语的理解,职责其实分为两部分:"职"和"责"."职"就是这个类是什么,而"责"就是这个类要干什么. 举个例子来说:Door是一个对象,那么它的"职"就是门,"责"就是"开门.关

面向对象的设计原则(JAVA)

一.单一职责原则(Single Responsibility Principe,SRP) 1.1单一职责原则的定义 1)定义:在软件系统中,一个类只负责一个功能领域中的相应职责. 2)另一种定义方式如下:就一个类而言,应该仅有一个引起它变化的原因. 1.2对可变性的封装原则 一个类(或者大到模块,小到方法)承担的职责越多,它被复用的可能性越小.而且如果一个类承担的职责过多,就相当于将这些职责耦合在一起,当其中一个职责变化时,可能会影响其他职责的运作. 类的职责主要包过两方面:数据职责和行为职责,