美文网首页
架构师训练营第1周作业 UML图

架构师训练营第1周作业 UML图

作者: 浩哥有料 | 来源:发表于2020-06-10 23:46 被阅读0次

    上周,极客大学推出的李智慧老师《架构师训练营》正式开营了。第一周的内容主要讲述了如何作架构设计,尤其对使用UML进行软件系统建模进行了详细的讲解。

    我之前有接触过UML,但并没有很严谨地画过,李老师在课上也说UML其实有很多方言变种,但了解标准的画法和含义有助于我们在工作中更好地进行沟通,既能准确展示自己的想法,又能快速理解别人的设计。

    本周的作业如下:

    食堂就餐卡系统设计

    系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。
    使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。
    管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。

    请设计系统用例图,组件图,组件时序图,部署图。

    以下是我绘制的图:

    用例图

    用例图

    这张图在绘制的时候,我先从作业要求中提取出了参与者和与其相关的动作,因为用例的简单表达就是动宾短语,而参与者就是用例的执行角色。这里“管理中心”稍微有点疑虑,按理说管理中心应该属于系统的组件,而不是使用方,并且还有一个单独的角色叫管理员,但是考虑到消费者去注册卡的时候,接待的人可以算作是管理中心,他不一定是管理员,他要负责在系统中创建卡记录,因此与管理中心直接相关的用例就只有创建卡记录。而查询余额的操作由于是系统内部的操作,所以没有直接的参与者,而是由显示卡余额这个案例来使用。

    组件图

    组件图

    组件图相对比较简单,但从实际的代码实现上考虑,尤其是分层架构方面的考虑,显然还有更多隐含的接口层没有展现出来。例如,界面不会直接与ORM/DAO进行交互,之间肯定会有Controller、Gateway等等,这里只是根据用例图提取出了表达用例所必要的组件。

    组件时序图

    组件时序图

    需求描述中涉及到的业务场景主要有三种:注册卡、使用卡、统计消费记录,这三个场景是相对独立的、异步的,因此时序图也应当有三幅。这三个场景中都会用到记录操作组件。由于题中没有详细描述管理员可能进行的操作,因此假设其只需要获取统计信息。

    部署图

    部署图

    部署图由组件图演化而来,考虑到注册卡、消费、打印统计信息分别会在不同的机器上进行,而管理中心的数据库负责存储所有的卡信息和消费信息,因此部署图大致分为四个节点。

    相关文章

      网友评论

          本文标题:架构师训练营第1周作业 UML图

          本文链接:https://www.haomeiwen.com/subject/niomtktx.html