软件建模基础计算机系统输入装置输出装置运算器控制器存储器计算机系统模型Intel某芯片模型软件建模基础•什么是系统建模?(SystemModeling)–通过对客观事物建立一种抽象的方法用以表征事物并获得对事物本身的理解,同时把这种理解概念化,并将这些逻辑概念组织起来,构成一种对所观察的对象的内部结构和工作原理的便于理解的表示。(????)–去掉可能引起混淆的信息,是真实系统的简化•软件项目中是不是一定要建模?模(Pattern)是什么?•“人”、“事”、“物”、“规则”•建模就是将“人”、“事”、“物”、“规则”进行有机组合成有意义的一个整体(????)•谁发出什么动作?作用于什么事物?产生什么样的结果?(业务场景描述)•软件建模:人=业务主角、业务工人、参与者;事=业务用例、系统用例等,物=业务实体;规则=事件为什么要建模•开发人员如何与用户进行沟通,以了解系统的需求?•开发人员之间如何沟通以确保各个部分能够无缝地进行协作?•软件系统设计的复杂性•帮助用户更高层次了解系统,让用户专注于系统设计中的重要部分,忽略无关紧要的部分。软件建模的目的•向软件项目干系人展示将要开发的软件产品。–干系人:客户、系统分析员、架构师、设计师、开发人员、测试人员、项目经理等•用视图来展示软件产品的不同方面•建模的主要工作是绘制那些表达软件含义的视图表达软件的含义;为不同干系人展示他们关心的部分视图•比如向客户展示用例图软件建模基础•需求分析时,面对大量需求资料时,是否有时候感觉力不从心?•当你试图去做一设计时,是否有时候感觉无从下手?•一个是怎么建?模是什么?•同样的事物在不同的人眼中有不同的结果•请在30秒内说出尽可能多的筷子、勺子、和盘子的相同点与不同点从用途角度抽象•建立一个人或一伙人用餐的业务逻辑模型,这三中事物各司其责,特性不一。•软件建模:首先要确定抽象的角度,即建立这个模型的目的是什么?•另外一个例子:你怎么认识武汉这做城市?–从交通、从风景、餐饮、文化…..怎么建•明确建模的实际目的•取决于现实世界的问题领域•取决于你的抽象角度(还有抽象的层次和粒度问题)例子:公司内部图书馆系统﹕公司每个成员通过局域网登录图书管理系统﹐然后预借书籍﹐图书管理员收到预借信息后﹐核准借阅﹐并通知借书人前来领书﹐告知相关事项。问题域建模-抽象角度的选择•图书馆•书籍类别•书籍•预借记录问题域(领域模型)建模关键是抽象出现实业务世界...