面向对象分析面临的主要问题:问题域和系统责任的确定,交流问题,不断变化的需求,软件复用的要求。
软件的复杂性源于问题域和系统责任的复杂性
问题域:被开发系统的应用领域,即在现实世界同这个系统所涉及的业务范围。
系统责任:被开发的系统应该具备的职能。
面向对象分析:强调用对象的概念对问题域中的事物进行完整的描述,刻画事物的性质和行为,同时也要如实反映问题域中的事物之间的关系。
面向对象分析模型:通过面向对象分析所建立的系统分析模型,表达了在面向对象分析阶段所认识到的系统成分及其间联系。(19页,图2-2)
面向对象分析模型包括:需求模型(用况图),基本模型(类图),辅助模型(顺序图,活动图,状态机图,包图等等)
使用用况图捕获和描述用户的需求,即系统需求,从而建立系统的需求模型(用况模型)
用类图构建的模型是系统的基本模型,因为类图为面向对象编程提供了最直接的依据。基本模型是系统的静态模型,描述了系统的结构特征,可分为3层
对象层:给出系统中所有反映问题域和系统责任的对象。
特征层:给出每个类的内部特征,即属性和操作。
关系层:给出各个类之间的关系。
面向对象分析过程模型:20页,图2-3