- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象的分析与设计方法
面向对象方法的基本概念
1、对象:是系统中用于描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务构成。
2、属性:用来描述对象静态特征的一个数据项。
3、服务:用来描述对象动态特征的一个数据项。
4、封装:就是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。
5、可见性:指对象的属性和服务允许对象外部存取和引用的程度。
6、消息:就是向对象发出的服务请求。
7、类:是具有相同属性和服务的一组对象的集合,他为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。
8、实例:类的一个成员对象。
9、一般类和特殊类(超类和子类):不同对象既具有共同性又具有特殊性,运用抽象原则,舍弃对象的特殊性,抽取其共同性,则得到一个适应一批对象的类,则该类为一般类。在该类范围内,考虑定义该类时舍弃的某些特殊性,则该类中,有一部分对象具有这些特殊性,这部分对象构成一个新的类,它是前一个类的子集,称作一般类的特殊类。
10、继承:即特殊类的对象拥有一般类的全部属性和服务。
发现对象
1、对象可以是:物理的和概念的,例:人、组织、物、事件等;
2、出发点:问题域和系统责任。
问题域:客观存在与系统对象的映射;
系统责任:责任由那些对象来完成;
3、抽象原则:围绕系统责任目标进行抽象,且先松后紧,即选出各种可能的侯选对象,再审查筛选。
4、方法:名词分析法(注意考虑隐含的名词)
5、审查与筛选:A、属性包含有用的信息且可以定义成适用所有场合的公共属性;
或 B、有能改变其属性值的操作且该操作能被定义为公共服务;
6、精简:只有一个属性或只有一个服务的对象。
例:班主任 班
7、对象的简单定义:
例:学生:当前已经被大学录取,有资格进行注册的人。
8、发现SRS对象
学生注册系统需求分析
我们被要求为大学开发一个自动化学生注册系统(SRS),这个系统将使学生可以在线注册每个学期的课程,也可以用于跟踪学生的学习进展,直至其获得学位。
当学生被大学录取后,学生使用SRS建立学习计划,即确定满足特定学位所需要的课程,并选择一名导师。SRS要检验所提出的学习计划是否满足该学生所希望获得的学位的要求。
一旦建立了学习计划,则在以后每个学期的注册期间学生都可以在线查看课程计划,选择要选修的课程,如果课程由多名教授讲授,则还可以指定听课时间(星期几、几点)。SRS要参考学生所完成课程的成绩单(学生可以随时查看自己的成绩单),检验学生是否满足所申请课程的必要的预修条件。
若1、所要求的预修课程都已修完;2、课程在该学生的学习计划之内;3、课程尚有空位;则学生可以参加听课。如果1、2条件满足,但3不满足,则该学生要放到一个先入先出的等待队列中。如果学生以前所等待的课程可以提供(或者由于某学生取消了听课计划,或者由于该课程的听课位置增加了),则该学生会被自动录取到所等待的课程中。只要允许学生听课,则SRS向该学生发送E_mail通知。如果该学生不再对该课程感兴趣,可以最迟在学期的第一个星期末决定退出所选的课程,否则,若学生被允许听课,则学生要为该课程付费。
隐含:班、教室
类清单:课程、课程计划、学习计划、教授、学生、班、成绩单
第三节 定义属性
一、策略
1、按一般常识这个对象应该有哪些属性;
2、在当前的问题域中这个对象应该有哪些属性;
3、按系统的责任要求这个对象应该有哪些属性;
4、建立该对象是为了保存和管理哪些信息;
5、为实现其功能应增加哪些属性;
6、对象有哪些需要区别的状态,是否需要增加一个属性来区别这些状态。
二、审查与筛选
1、该属性是否体现了以系统责任为目标的抽象;
2、该属性是否描述了对象本身的特征;
3、该属性是否破坏了对象特征的原子性;
4、该属性是否可以从其他属性中导出;
三、属性的详细说明
1、属性的命名;
2、属性的解释;
3、属性的数据类型;
4、实现要求及其他;
四、定义SRS各对象属性
详细说明:
Section.Timeofday:授课时间(范围),例如下午2——4时;
Section.Seatingcapacity:注册某个班所允许的最大学生数量;
Professor.SSN:唯一的社会安全号码;
Student.Major:学生的主修专业,例如“计算机科学与技术”(假设一名学生只有一个专业)
第四节 定义服务
一、策略
1、考虑系统责任和问题域:设置这个对象的目的是什么?若是完成某些功能,则由哪些服务来完成这些功能;若是保存某些信息,那么系统怎样运用这些信息,是否需要对这些信息进行某种计算或加工,然后向对象外部提供,怎样
您可能关注的文档
- 随着互联网技术的出现与广泛应用.doc
- 怎样利用空闲时间来建立经济学模型-瓦里安详解.doc
- 第十一章 采用非递归深度优先遍历算法.doc
- 企业质量、环境、职业健康安全方针及目标.doc
- 参考文献的查找、引用与格式.doc
- 第八章 公文排版字体要求以及印制要求.doc
- 6S和精益化管理.ppt
- 第十三章 黑马程序员C语言教程:C++易犯错知识点黑马程序员:一).docx
- 硬盘接口技术详解资料.doc
- 面试题目答案指南.doc
- 2024年陕西公路水运工程试验检测师《水运结构与地基》考前强化练习题库(含答案详解).pdf
- 某县河污染治理项目(一标段)拦水坝工程(技术方案).pdf
- 2024年河南省全民科学素质网络竞赛考试题库(含答案).pdf
- 2025年高级电工技能认证考试精选题库与实战演练.pdf
- 2024年河北省高校辅导员招聘笔试考前强化练习题库(含答案).pdf
- 2024年公路水运工程试验检测师《水运结构与地基》考前必刷必练题库500题(含真题、必会题).pdf
- 2024年报关员水平测试考试题库大全及答案(含真题、典型题等).pdf
- 保安服务投标方案(技术方案).pdf
- 2024年高级茶艺师考前通关必练题库(含答案).pdf
- 2024年河南省职业技能大赛咖啡师赛项考试题库(含答案).pdf
文档评论(0)