餐馆系统的分析领域建模?领域模型:显示最重要的业务概念和它们之间的关系的类图?领域模型用关联和泛化显示了这些概念之间的关系。领域模型通常不包含操作?有时很难决定是应该将一个特殊的信息作为一个类还是作为一个属性包含在领域模型中规定关联的重数,每个预定是由一个顾客进行的,这个人的姓名和电话由系统记录,但是每个顾客可以进行多个预定 Customer Reservation Makes 1* name phoneNumber 顾客和预定建模 Customer Reservation Makes 1* name phoneNumber covers date time Table places 1 * {Reservations for the same table must not overlap.} 包含预定特性的领域模型 Customer Makes 1* covers Reservation Walk-in Booking date time places Table * 1 {Bookings for the same table must not overlap.} name phoneNumber 包含未预约的领域模型领域模型的正确性?要证明一个模型的正确性或者即使是一个模型优于另一个模型,要更困难一些?建立领域模型的目的是确定一组对象,他们能够以有效地支持整个系统必须交付的功能的方式进行交互。因此,要评价领域模型中可供选择的方式,可以从实现这一点的程度来进行?而且不能通过孤立地检查领域模型而简单地评定, 还必须通过观察领域模型中类的实例之间的交互实际上是如何支持需要的功能,考虑模型实际上表达了什么一分析的目的?用例描述的形式所陈述的需求是定义系统外部行为非常有价值的工具,但是它们对系统的内部结构,或如何提出一组交互的对象来支持所要求的功能并没有给出任何指导?可以把分析的任务描述为是构造一个模型,来说明这些交互的对象如何能够交付用例中规定的行为?分析活动的典型输入是用例和领域模型?用例描述通过用户与系统的交互来表示从外部看到的系统功能?领域模型定义了重要业务概念之间的关系?实化:对每个用例,应当开发一个高层交互,来说明如何通过适当类的实例的交互,产生所需要的系统行为?领域模型中的类构成用例实化的起点?分析模型:源于领域模型的一个类图,但并入了为使其能够支持用例中规定的功能而增加和修改的内容?用交互图(协作图和顺序图)定义用例实化?协作图描述关联角色和类元角色。为了阐明消息的先后次序,必须使用层次编号方案?顺序图清晰地说明了各种事件的发生次序分析和设计的区别?分析最重要的任务是产生用例实化,并以此为基础,使领域模型进化为一个更全面的类图?由于分析和设计自始至终可以使用相同的技术和表示法,因此要给出一个清晰的界限作为分析结束而设计开始的形式定义就非常困难?分析的重点集中在系统需求上,而在设计中重点转移到了要产生的软件的结构上用例实化?系统消息:从外部用户到系统的消息?领域模型常常并不包括一个适合于接收系统消息的类?统一过程将边界对象定义为接收来自用户的消息的对象,所以,使用边界对象好像是一个合理的选择。?但是,边界对象属于系统架构中的表示层:如果试图分析应用层中对象的行为,使用边界构造型是一种误导?一个用例中可能涉及若干系统消息,检查用户以合理的次序发送这些正确的消息、协调系统产生的响应都是必要的。这正是一个控制对象适合承担的责任
餐馆系统的分析 来自淘豆网m.daumloan.com转载请标明出处.