第一章
1、用户与系统分析员的专业背景不同,交流访谈难免会有误解和遗漏。下面的对策试图减轻系统分析员的工作压力:
1) 使用UML图引导访谈,降低遗漏需求的情况。系统分析员在访谈过程中,通过多款不同的图来理清需求各种不同角度的面貌,降低遗漏。
2) 快速生成可执行的程序片段,通过展示来凸显误解。
3) 封装变化,让需求发生变化时,可以追踪到变化之处,迅速改版,并且不让变化起涟漪效应,向外扩散。
2、系统分析员主要会用到下列的UML图
1)、行为类
用例图(Use Case Diagram)
活动图(Activity Diagram)
状态图(State Machine Diagram)
序列图(Sequence Diagram)
2)、结构图
类图(Class Diagram)
3、并非所有的事物都适合对应成软件对象(Object),候选对象应符合下列两项条件:
1)、在企业运作过程中,业务人员会使用到的专业事物或概念;
2)、在信息化时系统也会用到,或者需要保存。
4、针对对象的各项属性,系统分析员还需要了解他在企业里的定义、数据类型、可能的范围值和初始值,更别忘了了解这项属性是怎么跑出来的。
5、对于对象的封装性,系统分析员要掌握下列要点:
1)、已知操作。对象通常仅对其他对象透露自身的操作,彼此之间通过调用已知的操作来交互;
2)、封装属性。封装属性值,不透露给其他对象;
3)、封装方法。仅对其他对象透露操作,但不透露其方法。
如果需要与其他对象交互,甚至是用到对象本身的属性或操作时,切记严守下列三条:
1)、不得直接提及对象的属性;
2)、不得假设对象的执行方法;
3)、仅能够使用对象的操作。
严守对象的封装性,有一个好处,当需求发生变化需要改写代码时,变化会被局限在对象的属性和方法中,不会起涟漪效应,也不会发生牵一发而动全身的连锁反应。由于软件内部的组成对象易于汰旧换新,所以软件的使用寿命延长,后继的维护成本也偏低,企业因此得到高投资报酬率。不过眼前首先要付出的代价是较高的开发成本。
6、判断是否采用关联关系:
1)、在企业领域的专业概念里,两种对象之间有一种固定不变且需要保存的静态关系;
2)、在信息化时,系统会用到这些静态关系,而且必须将他们保存到数据库。
判断是否采用聚合关系:
1)、符合上述关联关系条件;
2)、在企业领域的专业概念里,两种对象之间有Whole-Part的静态关系。
判断是否采用组合关系:
1)、符合上述聚合关系;
2)、Part对象只能链接一个Whole对象,且Whole对象被注销时,Part对象必须一块被注销。
7、系统用例:表达用户与信息系统的交互;--(系统执行者,将引导整个开发程序)
业务用例:表达顾客与企业组织的交互。――(业务执行者)
8、MDA(Model-Driven Architecture)开发程序,分为下列三个阶段:
1)、CIM――聚焦于系统环境及需求,但不涉及系统内部的结构与运作细节;
2)、PIM――聚焦于系统内部细节,但不涉及现实系统的具体平台;
3)、PSM――聚焦于系统落实到特定平台的细节。
具体步骤参照:
1)、CIM-1:定义业务流程,产生业务用例模型;
2)、CIM-2:分析业务流程,产生活动图;
3)、CIM-3:定义系统范围,产生系统用例图;
4)、PIM-1:分析系统流程,产生系统用例叙述;
5)、PIM-2:分析业务规则,产生状态图;
6)、PIM-3:定义静态结构,产生类图;
7)、PIM-4:定义操作及方法,生成序列图。
--end