1软件工程软件工程面向对象分析和设计实例面向对象分析和设计实例2发现对象,建立对象类OOA的基本出发点是问题域和用户需求研究用户需求,明确系统责任研究问题域确定系统边界3发现对象1、出发点:问题域和系统责任2、正确的运用抽象原则3、策略与启发:•1、问题域:人员、住址、物品、设备、事件、表格、结构•2、系统边界:人员、设备和外系统•3、系统责任:每项功能是否可以由现有的对象完成,有否遗漏44、审查和筛选:舍弃无用的对象属性
服务对象的精简只有一个属性或服务的对象推迟到OOD考虑的对象5、识别主动对象5对象分类,建立类图的对象层1、异常情况的检查和调整–类的属性或服务不适合该类的全部对象–属性及服务相同的类–属性和服务相似的类–对同一事物的重复描述2、类的命名3、建立类图的对象层6例子:习题管理系统对象:教师、学生、班、习题、习题板、考试题板、练习本、题库服务器7该系统的功能需求是:在一个公共习题库的支持下,使各科教师可以在系统中编写习题及其标准答案,并将编写的习题及答案加入题库;或者从题库中选取一组习题,组成一份向学生布置的作业,并在适当时刻公布答案
学生可以在系统中完成教师不止的作业,也可以从题库中选择更多的题目联系
教师可以通过系统检查学生的作业,学生也可以在教师公布答案后对自己的练习进行核对
系统维持对题库的管理,并对教师及学生的权限进行检查;只有本课程的教师可以提交或修改习题;并指定那些习题的答案可以向学生公开
8定义属性与服务策略与启发按一般常识这个对象应该有哪些属性在当前的问题域中,这个对象应该有哪些属性根据系统责任的要求,这个对象应该具有哪些属性建立这个对象是为了保存和管理哪些信息对象为了在服务中实现其功能,需要增设哪些属性对象有哪些需要区别的状态,是否需增加一个属性来区别这些状态用什么属性表示整体-部分结构和实例连接审查与筛选是