1、分析阶段创建的模型:
事件列表,事物列表
结构化方法:系统流程图、决策树/决策表、实体关系图、数据流、数据字典、伪代码
基于UML的OO方法:用例图、用例场景描述、分析类图、活动图、状态图、时序图/协作图
2、设计阶段创建的模型:
体系结构图、界面布局图、系统结构图、程序流程图、设计类图、时序图、包图、组件图、网络图、部署图
3、事件:发生在某一特定的时间和地点、可描述并且系统应该记录下来的事情
事件和系统需求的关系:什么事件发生时需要系统做出响应,、能列出所有这样的事件应该说就可以搞清楚用户对系统的需求。信息系统的所有处理过程都是由事件驱动或触发的,因此当定义系统需求时将所有事件罗列出来并加以分析是非常有意义的。
事件类型:
外部事件:系统之外发生的事件,通常是由外部实体或系统参与者触发的
临时事件:由于到达某一时刻所发生的事件
状态事件:当系统内部发生了需要处理的情况时所引发的事件
外部事件应包括: 外部实体的需要触发一个事务处理,如客户下订单 外部实体想获得某些信息,如客户查询帐户信息 数据发生改变需要更新,如客户地址变更 管理部门想获取某些信息,如管理者需要销售情况分析报告
临时事件应包括: 所需的内部输出结果,如定期报表 所需的外部输出结果,如定期结算单、帐单等 突发的情况,如系统掉电、内存溢出、读写错误、缺页
状态事件应包括: 所有外部事件和临时事件都要考虑是否有状态事件发生, 如,销售引起库存变化等
区分事件和随事件发生的一部分交互行为
跟踪事务处理生命周期可以得到一系列事件
特别细节的事件在系统分析阶段不予考虑
事物:在传统的开发方法中,事物就是构成系统存储信息的相关数据;
在面向对象的开发方法中,事物就是在系统中相互交互的对象;
事件和事物的区别与联系: 事件 – 发生在瞬间,有一定的随机性
事物 – 客观存在,不以主观意志为转移
联系 – 事件的发生可以改变事物的状态或产生新的事物
事物间的关系:某些事物间自然发生的联系,比如客户 发送订单、雇员在某部门工作等
根据每件事物的关联数目来理解每种关系的本质非常重要 基数(重数):发生在事物间关联的数目
二元关系:两种不同类型事物之间的关系,如Teacher与Student 一元(回归)关系:同一类型的两个事物间的关系,例如一个人和 另一个人的婚姻关系 三元关系:三种不同类型事物之间的关系, 如Course、Teacher和Student n元关系: n(n为任意数)种不同类型事物之间的关系
事物的属性:
属性:有关事物的一条特定信息 标示符(关键字):能唯一标志事物的一个属性 复合属性:包括了许多相关属性的属性,如客户全名:名+姓
数据实体:在传统的系统开发方法中,事物被称为数据实体 对象:在面向对象的系统开发方法中,将某一个事物称为对象
E-R图:
传统的系统开发方法都将重点集中在数据存储需求上 数据存储需求包括数据实体、数据实体的属性以及它 们之间的关系
分析员在建模的过程中,常常对ERD进行细化的工作就是 处理多对多的关系 由于关系数据库中不能直接实现多对多的关系,因此必 须建立一个单独的表,来消除多对多的关系 关联实体 – 解决上述问题的人为增加的数据实体,它 一定包含两端数据实体的关键字
类图:面向对象的方法也强调对系统中所包含事物的理解 面向对象的方法给事物建立的模型即是“类图” “类”和“实体”是明显区别的
泛化/具体层次图 – 把类按照从最概括的父类到 最具体的子类的顺序进行排列的层次图,有时 也被称作继承层次图 继承 – 允许子类共享其父类的所有的特征
整体/局部层次图:按照类之间的关联组件将类进行 结构化分解的层次图 聚合:对象及其各个部分之间的一种整体-局部关系 组成:对象及其与它不可分割的各个部分之间的一种 整体-局部关系
抽象类:一种不能被实例化(即不能创建对象)的类,仅 为了使其子类能够继承他的属性与方法 具体类:能够被实例化的类 关联类:一种表示两种不同类之间多对多的关系的类