softwaredesign.doc

上传人:博****1 文档编号:544768442 上传时间:2024-03-07 格式:DOC 页数:8 大小:228.01KB
返回 下载 相关 举报
softwaredesign.doc_第1页
第1页 / 共8页
softwaredesign.doc_第2页
第2页 / 共8页
softwaredesign.doc_第3页
第3页 / 共8页
softwaredesign.doc_第4页
第4页 / 共8页
softwaredesign.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《softwaredesign.doc》由会员分享,可在线阅读,更多相关《softwaredesign.doc(8页珍藏版)》请在金锄头文库上搜索。

1、Course: 软件需求分析设计与建模Topic: 软件设计Team: 08SE class 3 郑晓茵 刘雅良 class 4 王学文 林秋明Key Word: 设计模式(Design Pattern) 面向对象设计(OOD)概述: 我们需知,设计的好坏在根本上决定了软件的优劣。我们可以断言“差的系统设计必定产生差的软件系统”,但是不能保证“好的系统设计必定产生好的软件系统”。因为在设计之前有需求开发工作,在设计之后还有编程、测试和维护工作,无论哪个环节出了差错,都会把好事搞砸了。但一个良好的设计作为基础是必须的。本课程的软件设计主要为 面向对象设计 OOD:Object Oriented

2、Design,基于OOA的OOD,OOD包括问题域部分的设计,人机交互部分的设计,控制驱动部分的设计,数据库接口部分的设计以下就软件设计的基础开始至本课程的OOD部分进行概述。大纲一、软件设计的原则3二、软件设计的基本任务41)总体设计42)详细设计4三、面向对象的设计方法41)系统设计阶段42)对象设计阶段4四、用户界面(人机交互)设计51)用户界面设计的原则52)用户界面设计过程5五、设计模式6六、其它高校或研究机构资料61)国内62)国外6七、推荐71)论坛72)网站73)书籍7一、 软件设计的原则在介绍软件设计方法前先行介绍其所需的概念以及基本原则,主要有以下4点:原则定义模块化与其独

3、立性模块是数据说明、可执行语句等程序对象的集合。模块可以被单独命名,而且可通过名字来访问。在面向对象的方法学中,对象和对象内的方法也是模块。在软件的体系结构中,模块是可组合、分解和更换的单元。模块是构成程序的基本构件。模块具有以下几个基本属性: 1).接口:指模块的输入与输出。 2).功能:指模块实现什幺功能。 3).逻辑:描述内部如何实现要求的功能及所需的数据,即描述模块内部怎样做。 4).状态:指该模块的运行环境,即模块的调用与被调用关系。模块独立性是软件系统中每个模块只涉及软件要求的具体子功能而和软件系统中其它的模块接口是简单的。 模块的独立程度可以由模块间的耦合和模块的内聚两个定性标准

4、度量。耦合是衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚是衡量一个模块内部各个元素彼此结合的紧密程度。 抽象与细化抽象就是抽取出事物的本质特性而暂时忽略它们的细节。在进行模块化软件设计时,可以在不同的抽象层次进行设计。在抽象的最高层次使用问题环境的语言,以概括的方式叙述问题的解法;在较低抽象层次采用更过程化的方法,把面向问题的术语和面向实现的术语结合起来叙述问题的解法;最后在最低的抽象层次用可直接实现的方式叙述问题的解法。细化实际上是一个详细描述的过程。在高层抽象定义对,从功能说明或信息描述开始。也就是说给出功能说明或信息的概念,而不给出功能内部的工作细节或信息的内部结构。细化则是设计者

5、在原始说明的基础上进行详细说明,随着不断的细化(详细说明)给出更多的细节。信息隐蔽信息隐藏是指在设计和确定模块时,使一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。在面向对象方法中,对象的封装性很自然地支持了信息隐藏的思想。可重用重用也叫再用或复用,是指同一事物不作修改或稍加改动就多次重复使用。软件复用的范围基本上可归纳为1). 数据复用2). 模块复用3). 结构复用4). 设计复用5). 规格说明在进行软件设计时,除了慎重考虑以上提及的几点,自顶向下,逐步细化;软件结构; 程序结构;结构图等基础也不可癈。二、 软件设计的基本任务软件设计基本任务阶段1) 总体设

6、计2) 详细设计内容概要/初步细化工作主要给出一个系统的构造和构造元素对构造元素进行细化设计基本任务(1). 最佳方案的设计。 (2). 软件结构设计。 (3). 数据结构及数据库设计 (4). 网络系统设计。 (5). 文档编写。 (6)评审。(1).为每个模块进行详细的算法设计。 (2).为模块内的数据结构进行设计。 (3).对数据库进行物理设计 。(4).界面设计。 (5).其它设计。 (6).编写文档。 (7).评审。三、 面向对象的设计方法软件设计其中一项重的设计方法为面向对象(OOD)设计;面向对象的设计是在面向对象的分析(OOA)的基础上,对OOA模型逐渐扩充的过程。OOD和OO

7、A采用相同的符号表示, OOD和OOA没有明显的分界线,它们往往反复迭代地进行。 面向对象的设计方法阶段总体设计详细设计又称1) 系统设计阶段2) 对象设计阶段工作解决系统高层次问题解决系统的一些细节问题例如(1). 将OOA模型如何划分成子系统。 (2). 选择构造系统的策略。 (1). 类、关联、接口形式及实现服务的算法等。 目前有许多种面向对象的设计方法,其中典型的有:Coad & Yourdon方法(即著名的OOA/OOD方法)、OMT(Object Modeling Technique)方法、Booch方法、OOSE(ObjectOriented Software Engineeri

8、ng)方法及RUP(Rational Unified Process)方法等。四、 用户界面(人机交互)设计用户界面又称人机界面或人机接口 。用户界面设计是软件设计的重要组成部分。1) 用户界面设计的原则 用户界面适合于软件的功能 容易理解 风格一致 及时反馈信息 出错处理 适应各种用户 国际化 个性化 和谐的色彩 合理的布局 2) 用户界面设计过程 用户界面设计是以用户为中心,反复迭代的过程。 见下图分析和理解用户活动与最终用户一起评价产生动态设计原型纸上设计原型设计原型可执行原型实现最终的用户界面与最终用户一起评价五、 设计模式何谓模式?设计也有可循的模式?有经验的面向对象的开发人员(和其

9、它一些软件开发人员)建立了一套一般原则和常用解决方案的“指令集”,用来指导软件设计。这些原则和惯用法如果用格式编纂成文,文中描述了所要解决的问题和对应的解决方案,并且被赋予名字,那幺这些原则和惯用就被称为模式(pattern)。一个设计模式通常可用四个信息来描述: 1) 模式名。2) 所解决的问题。3) 解决方案。 4) 应用设计模式的效果。 面向对象设计中23种常用的设计模式1) Abstract Factory。2) Adapter。3) Bridge。4) Builder。 5) Visitor。6) Command。7) Composite。8) Decorator。 9) Facto

10、ry Method。10) Facade。 11) Flyweight。12) Interpreter。 13) Iterator。 14) Mediator。 15) Memento。 16) Observer。17) Prototype。 18) Proxy。 19) Singleton。 20) State。 21) Template Method。 22) Strategy。 23) Chain of Responsibility。六、 其它高校或研究机构资料1) 国内1. 哈尔滨工业大学(研究生课程)- 软件设计2. 中国科学技术大学(网络学院)- 软件工程学3. 上海漫索计算器科技

11、有限公司- 软件设计2) 国外1. (Canada)University of Toronto(Department of Computer Science)- Object Oriented Modeling Methods2. (USA)Kent State University(Department of Computer Science)- Software Design Patterns3. (Canada)University of Ottawa- Software Usability七、 推荐1) 论坛系统/软件工程研究与实践论坛SE/SWE Forum China(中文)http:/ 网站张逸(Bruce Zhang)的个人网站http:/ Patterns的介绍书籍以及他的著作。3) 书籍1. Head First Design Patterns - (美)弗里曼(Freeman,E.)- 2005年第15届Jolt获奖作品- 被程序员等机构评选为2006年最受读者喜爱的十大IT图书之一- 翻译版设计模式深入浅出- JAVA示例- 严谨2. 大话设计模式- 陈杰- 清华大学出版社- 荣获51cto的年度IT图书的最佳原创作者奖- C#示例- 趣味3. 软件设计精要与模式- 张逸- 电子工业出版社- 第一版 .NET / 第二版C# 示例

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号