面向对象设计理念-4学时_第1页
面向对象设计理念-4学时_第2页
面向对象设计理念-4学时_第3页
面向对象设计理念-4学时_第4页
面向对象设计理念-4学时_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第6 6章章 面向对象设计面向对象设计计算机科学与技术学院计算机科学与技术学院第第6 6章章 面向对象设计面向对象设计如何设计一个软件系统?如何设计一个软件系统?软件开发的过程软件开发的过程一个例子的相关描述一个例子的相关描述第第6 6章章 面向对象设计理念面向对象设计理念软件系统开发过程描述软件系统开发过程描述1 1问题定义问题定义 2 2可行性研究可行性研究3 3需求分析需求分析4 4总体设计总体设计5 5详细设计详细设计6 6编码和单元测试编码和单元测试7 7综合测试综合测试8 8软件维护软件维护通过问题定义阶段的工作,系统分析员通过问题定义阶段的工作,系统分析员应该提出关于问题性质、

2、工程目标和规应该提出关于问题性质、工程目标和规模的书面报告。通过对系统的实际用户模的书面报告。通过对系统的实际用户和使用部门负责人的访问调查,分析员和使用部门负责人的访问调查,分析员扼要地写出他对问题的理解,并在用户扼要地写出他对问题的理解,并在用户和使用部门负责人的会议上认真讨论这和使用部门负责人的会议上认真讨论这份书面报告,澄清含糊不清的地方,改份书面报告,澄清含糊不清的地方,改正理解不正确的地方,最后得出一份双正理解不正确的地方,最后得出一份双方都满意的文档。方都满意的文档。这个阶段要回答的关键问题:这个阶段要回答的关键问题:“对于上对于上一个阶段的问题有行得通的解决办法?一个阶段的问题

3、有行得通的解决办法?”为了回答这个问题,系统分析员需要进为了回答这个问题,系统分析员需要进行一次大大压缩和简化了的系统分析和行一次大大压缩和简化了的系统分析和设计的过程,也就是在较抽象的高层次设计的过程,也就是在较抽象的高层次上进行的分析和设计的过程。上进行的分析和设计的过程。这这个阶段的任务仍然不是具体的解决这这个阶段的任务仍然不是具体的解决问题,而是准确地确定问题,而是准确地确定“为了解决这个为了解决这个问题,目标系统必须做什么问题,目标系统必须做什么”,主要是,主要是确定目标系统必须具备哪些功能。确定目标系统必须具备哪些功能。这个阶段必须回答的关键问题是这个阶段必须回答的关键问题是“概括

4、概括地说应该如何解决这个问题?地说应该如何解决这个问题?”系统分析员应该使用系统流程图或其他系统分析员应该使用系统流程图或其他工具描述每种可能的系统,估计每种方工具描述每种可能的系统,估计每种方案的成本和效益,还应该在充分权衡各案的成本和效益,还应该在充分权衡各种方案的利弊的基础上,推荐一个较好种方案的利弊的基础上,推荐一个较好的系统(最佳方案),并且制定实现所的系统(最佳方案),并且制定实现所推荐的系统的详细计划。如果用户接受推荐的系统的详细计划。如果用户接受分析员推荐的系统,则可以着手完成本分析员推荐的系统,则可以着手完成本阶段的另一项主要工作。阶段的另一项主要工作。总体设计阶段以比较抽象

5、概括的方式提总体设计阶段以比较抽象概括的方式提出了解决问题的方法,详细设计阶段的出了解决问题的方法,详细设计阶段的任务就是把解决方法具体化,也就是回任务就是把解决方法具体化,也就是回答关键问题:答关键问题:“应该怎样具体的实现这应该怎样具体的实现这个系统呢?个系统呢?”。程序员根据目标系统的性质和实际环境,程序员根据目标系统的性质和实际环境,选取一种适当的高级程序设计语言(必选取一种适当的高级程序设计语言(必要时用汇编语言)把详细设计的结果翻要时用汇编语言)把详细设计的结果翻译成用选定的语言书写的程序,并且仔译成用选定的语言书写的程序,并且仔细测试编写出的每一个模块。细测试编写出的每一个模块。

6、这个阶段的关键任务是通过各种类型的这个阶段的关键任务是通过各种类型的测试及相应的调试,使软件达到预定的测试及相应的调试,使软件达到预定的要求。要求。维护阶段的关键任务是通过各种必要的维护阶段的关键任务是通过各种必要的维护活动使系统持久的满足用户的需要。维护活动使系统持久的满足用户的需要。4第第6 6章章 面向对象设计面向对象设计 6.1 6.1 网络教学系统的需求分析网络教学系统的需求分析 6.2 6.2 系统的系统的UMLUML基本模型基本模型 6.3 6.3 系统中的类系统中的类 6.4 6.4 系统的配置与实现系统的配置与实现56.1 6.1 网络教学系统的需求分析网络教学系统的需求分析

7、 6.1.1 6.1.1 系统功能需求系统功能需求 6.1.2 6.1.2 数据信息管理模块数据信息管理模块 6.1.3 6.1.3 基本业务模块基本业务模块 6.1.4 6.1.4 信息浏览、查询模块信息浏览、查询模块66.1.1 6.1.1 系统功能需求系统功能需求系统的功能需求主要包括以下几个方面:系统的功能需求主要包括以下几个方面:学生可以登录网站、浏览信息、查找信息和下载学生可以登录网站、浏览信息、查找信息和下载文件。文件。教师可以登录网站、输入课程简介、上传课件文教师可以登录网站、输入课程简介、上传课件文件、发布消息、修改和更新消息。件、发布消息、修改和更新消息。 系统管理员可以对

8、页面维护以及批准用户的注册系统管理员可以对页面维护以及批准用户的注册申请。申请。76.1.1 6.1.1 系统功能需求系统功能需求系统主要包括以下几个模块:系统主要包括以下几个模块: 数据信息管理模块数据信息管理模块 基本业务模块基本业务模块 信息浏览、查询模块信息浏览、查询模块86.1.2 6.1.2 数据信息管理模块数据信息管理模块数据信息管理模块数据信息管理模块包含的功能:包含的功能: 教师信息管理教师信息管理 课程信息管理课程信息管理 文件上传信息的管理文件上传信息的管理96.1.3 6.1.3 基本业务模块基本业务模块基本业务模块基本业务模块包含的功能:包含的功能: 文件上传文件上传

9、 文件下载文件下载 消息发布消息发布 消息修改和更新消息修改和更新 页面维护页面维护 用户注册批准用户注册批准106.1.4 6.1.4 信息浏览、查询模块信息浏览、查询模块信息浏览、查询模块信息浏览、查询模块主要用于网页上信息主要用于网页上信息的浏览、搜索,包括:的浏览、搜索,包括: 网页信息浏览网页信息浏览 文章信息搜索文章信息搜索116.2 6.2 系统的系统的UMLUML基本模型基本模型 6.2.1 6.2.1 系统的用例图系统的用例图 6.2.2 6.2.2 系统的时序图系统的时序图 6.2.3 6.2.3 系统的协作图系统的协作图 6.2.4 6.2.4 系统的状态图系统的状态图

10、6.2.5 6.2.5 系统的活动图系统的活动图12补充:补充:UMLUML建模语言建模语言 统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件密集系统进行可视化建模的一种语言。 UML为采用面向对象技术面向对象技术开发系统的产品进行说明说明、可视化可视化、和编制文档编制文档的一种标准语言。 UML最大的好处减少了沟通的成本,把一些想法能够很清晰直观的表达出来,在设计的过程中,使用得较多的是用例图,类图,组件图,部署图和用例图,类图,组件图,部署图和时序图时序图。 13补充:UML用例图 用例图用例图描述了系统提供的一个功能单元。 用例图的主要目的主

11、要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的角色角色(actors,也就是与系统交互的其他实体)关系关系,以及系统内用例之间用例之间的关系。 146.1.1 6.1.1 系统功能需求系统功能需求创建用例图之前首先需要确定参与者。创建用例图之前首先需要确定参与者。 系统的功能需求主要包括以下几个方面:系统的功能需求主要包括以下几个方面:学生学生可以登录网站、浏览信息、查找信息和下载可以登录网站、浏览信息、查找信息和下载文件。文件。教师教师可以登录网站、输入课程简介、上传课件文可以登录网站、输入课程简介、上传课件文件、发布消息、修改和更新消息。件、发布消息、修改和更

12、新消息。 系统管理员系统管理员可以对页面维护以及批准用户的注册可以对页面维护以及批准用户的注册申请。申请。156.1.1 6.1.1 系统的用例图系统的用例图 1 1) 系统用户参与的总的用例图系统用户参与的总的用例图 2 2) 学生参与的用例图学生参与的用例图 3 3) 教师参与的用例图教师参与的用例图 4 4) 系统管理员参与的用例图系统管理员参与的用例图166.1.1 6.1.1 系统功能需求系统功能需求系统的用例图系统的用例图系统的功能需求主要包括以下几个方面:系统的功能需求主要包括以下几个方面:学生学生可以可以登录登录网站、网站、浏览浏览信息、信息、查找查找信息和信息和下载下载文件。

13、文件。教师教师可以可以登录登录网站、网站、输入输入课程简介、课程简介、上传上传课件文课件文件、件、发布发布消息、消息、修改修改和和更新更新消息。消息。 系统管理员系统管理员可以对页面可以对页面维护维护以及以及批准批准用户的注册用户的注册申请。申请。17171. 1. 系统用户参与的总的用例图系统用户参与的总的用例图182. 2. 学生参与的用例图学生参与的用例图学生学生可以可以登录登录网站、网站、浏览浏览信息、信息、查找查找信息和信息和下载下载文件。文件。193. 3. 教师参与的用例图教师参与的用例图教师教师可以可以登录登录网站、网站、输入输入课程简介、课程简介、上传上传课件文件、课件文件、

14、发布发布消息、消息、修改修改和和更新更新消息。消息。204. 4. 系统管理员参与的用例图系统管理员参与的用例图系统管理员系统管理员可以对页面可以对页面维护维护以及以及批准批准用户的注册申请。用户的注册申请。21补充:UML时序图 时序图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互。 主要用途之一,是把用例表达的需求,转化为进一步、更加正式层次的精细表达。 226.2.2 6.2.2 系统的时序图系统的时序图 1. 1. 系统管理人员管理网站的时序图系统管理人员管理网站的时序图 2. 2. 用户登录系统的时序图用户登录系统的时序图 3. 3. 学生下载文件的时序图学生下载文件的时序

15、图231. 1. 系统管理人员管理网站的时序图系统管理人员管理网站的时序图242. 2. 用户登录系统的时序图用户登录系统的时序图253. 3. 学生下载文件的时序图学生下载文件的时序图26补充:UML协作图 协作图强调的是发送和接收消息的对象之间的组织结构。 一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。 协作图用于显示对象之间如何进行交互以执行特定用例或用例中特定部分的行为。 用于确定类的职责和接口。 276.2.3 6.2.3 系统的协作图系统的协作图 1. 1. 用户登录系统的协作图用户登录系统的协作图 2. 2. 学生下载文件的协作图学生下载文件的协作

16、图281. 1. 用户登录系统的协作图用户登录系统的协作图292. 2. 学生下载文件的协作图学生下载文件的协作图30补充:UML状态图 状态图表示某个类所处的不同状态和该类的状态转换信息。 状态图显示了它们可以表达的一些潜在信息。 316.2.4 6.2.4 系统的状态图系统的状态图32补充:UML活动图 活动图阐明了业务用例实现的工作流程。 可以使用垂直实线将活动图划分为泳道。每条泳道代表整个工作流程的某个部分的职责,该职责由组织的某个部门来执行。 泳道最终可以由组织单元或者业务对象模型中的一组类来实施。 33336.2.5 6.2.5 系统的活动图系统的活动图 1. 1. 用户登录系统的

17、活动图用户登录系统的活动图 2. 2. 教师上传课件的活动图教师上传课件的活动图 3. 3. 系统管理员进行网站维护的活动图系统管理员进行网站维护的活动图341. 1. 用户登录系统的活动图用户登录系统的活动图352. 2. 教师上传课件的活动图教师上传课件的活动图363. 3. 系统管理员进行网站维护的活动图系统管理员进行网站维护的活动图37补充:UML类图 类图显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。 类图不显示暂时性信息。 386.3 6.3 系统中的类系统中的类 1. 1. 类图的生成类图的生成 2. 2. 各个类之间的关系各个类之间的关系39

18、1. 1. 类图的生成类图的生成 参与者相关的类参与者相关的类 一些其他的类一些其他的类40(1 1)参与者相关的类)参与者相关的类41(2 2)一些其他的类)一些其他的类422. 2. 各个类之间的关系各个类之间的关系436.4 6.4 系统的配置与实现系统的配置与实现44补充:UML部署图 UML部署图(对象管理组织2001)描述了一个运行时的硬件结点,以及在这些结点上运行的软件组件的静态视图。 部署图显示了系统的硬件,安装在硬件上的软件,以及用于连接异构的机器之间的中间件。 4545系统的配置图系统的配置图46第第6 6章章 面向对象设计面向对象设计设计准则设计准则1.1.模块化模块化l对象就是模块。它是把数据结构和操作这些数据的方法紧对象就是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论