需求的分析我们采用四色模型。从用户故事中找出MI,然后围绕MI找出其中的role,ppt,des。本次先对两个优先级最高的用户故事进行四色模型建模。

1.用户故事一建模:作为教务处老师,我要建立教学班,以便教师和学生彼此都清楚他们之间的教学关系

该用户故事中教学班是时刻时段,代课教师和上课学生均作为参与者角色,课程在此处也作为角色参与本次教学组织。四色模型图如下图1:

  

                                                                                            图1

 2.用户故事二建模:作为授课教师,我要登记学生的相关成绩,以便算出学生该门课程的最终成绩。

 该故事中,登记教学班成绩是MI(实际上这块要结合后面的用户故事进一步挖掘的话,我们可以提取出一个父类MI,登记成绩MI。本次暂不进行提取,留到后期完成其它用户故事时再进行)。可以看出,登记教学班成绩MI依赖于教学班MI。另外,“相关成绩”和“最终成绩”也作为MI,它们被登记教学班MI依赖。模型如下图2:

图2

其余故事暂时不做进一步分析,先针对前面两个故事进一步进行业务建模。

DDD实战成绩管理---需求分析的更多相关文章

  1. DDD实战成绩管理---用户故事

    本次DDD实践选取我们都熟悉的高校成绩管理作为例子. (一).需求描述 每学期学校教务处老师会进行教学安排,具体就是建立教学班,指定该教学班代课教师,上课学生,然后进行排课(忽略此部分,这是另一个系统 ...

  2. DDD实战进阶第一波(五):开发一般业务的大健康行业直销系统(实现产品上下文领域层)

    从这篇文章开始,我们根据前面的DDD理论与DDD框架的约束,正式进入直销系统案例的开发. 本篇文章主要讲产品上下文中的领域层的主要实现,先简单讲下业务方面的需求:产品SPU与产品SKU,产品SPU主要 ...

  3. DDD实战进阶第一波(一):开发一般业务的大健康行业直销系统(概述)

    本系列文章 DDD实战进阶第一波(一):开发一般业务的大健康行业直销系统(概述) DDD实战进阶第一波(二):开发一般业务的大健康行业直销系统(搭建支持DDD的轻量级框架一) 近年来,关于如何开发基于 ...

  4. DDD实战进阶第一波(十五):开发一般业务的大健康行业直销系统(总结篇)

    前面我们花了14篇的文章来给大家介绍经典DDD的概念.架构和实践.这篇文章我们来做一个完整的总结,另外生成一个Api接口文档. 一.DDD解决传统的开发的几大问题: 没有描述需求的设计模型:而是直接通 ...

  5. DDD实战进阶第一波(三):开发一般业务的大健康行业直销系统(搭建支持DDD的轻量级框架二)

    了解了DDD的好处与基本的核心组件后,我们先不急着进入支持DDD思想的轻量级框架开发,也不急于直销系统需求分析和具体代码实现,我们还少一块, 那就是经典DDD的架构,只有了解了经典DDD的架构,你才能 ...

  6. DDD实战课--学习笔记

    目录 学好了DDD,你能做什么? 领域驱动设计:微服务设计为什么要选择DDD? 领域.子域.核心域.通用域和支撑域:傻傻分不清? 限界上下文:定义领域边界的利器 实体和值对象:从领域模型的基础单元看系 ...

  7. 编程实战——电影管理器之界面UI及动画切换

    编程实战——电影管理器之界面UI及动画切换 在前文“编程实战——电影管理器之利用MediaInfo获取高清视频文件的相关信息”中提到电影管理器的目的是方便播放影片,在想看影片时不需要在茫茫的文件夹下找 ...

  8. 学生成绩管理C语言版

    [标题]学生成绩管理的设计与实现 [开发语言]C语言 [概要设计]使用结构体存储学生的学号.姓名和成绩信息,实现对学生成绩类的基本操作:增加.删除.查询.排序 [测试数据]按提示输入5组正确的正确的数 ...

  9. 学生成绩管理C++版

    [标题]学生成绩管理的设计与实现 [开发语言]C++ [主要技术]STL [概要设计]类名:student 类成员:No.Name.Math.Eng.Chn.Cpro.Sum 成员函数:getname ...

随机推荐

  1. [Python 练习爬虫] XPATH基础语法

    XPATH语法: // 定位根标签 / 往下层寻找 /text() 提取文本内容 /@xxx 提取属性内容 Sample: import requests from lxml import etree ...

  2. Java50道经典习题-程序33 杨辉三角

    题目:打印出杨辉三角形(要求打印出10行如下图)分析:          1         1 1        1 2 1      1 3 3 1    1 4 6 4 11 5 10 10 5 ...

  3. linux(Centos7系统)中安装JDK、Tomcat、Mysql

    安装前准备两个工具:(360可以安装) 1.JDK的安装 使用yum命令安装 .查看是否已安装JDK # yum list installed |grep java .卸载CentOS系统Java环境 ...

  4. mysql将日期字符串转换

    举个例子: 给定字符串为07/31/2018,想要把格式转换成20180731 需要用到以下两个函数: date_format(date,’%Y-%m-%d’) ————–>oracle中的to ...

  5. SQL-还原数据库,数据库提示正在还原中的处理办法

    还原数据库时,提示还原成功,可是数据库列表中该数据库显示正在还原中: 执行此命令即可: RESTORE DATABASE EnterPriseBuilding WITH RECOVERY 1. 至少有 ...

  6. oracle与infomix异同点

    之前是做oracle数据库应用开发的,现在工作用的是informix,特别不习惯.用了一段时间后才慢慢适应,最近做系统升级,把informix换成oracle数据库.顺便整理了一下informix与o ...

  7. js中的冒泡排序

    <!-- 冒泡排序:把一组数列按照一定的顺序进行排列,从大到小,或者从小到大 -->          // 控制循环的轮数          arr = [3,14,55,2,1,4,5 ...

  8. C++的六个函数

    一.构造函数 在C++中,构造函数是六个函数中的第一个,当一个对象被创建时,在它的整个周期中,是一个由生到死的 过程,即构造函数创建对象,析构函数析构对象.在对象被创建时,调用构造函数创建一个对象,这 ...

  9. (Oracle)DBMS_SYSTEM工具-01[20180510]

    分析描述:     使用DBMS_SYSTEM分析SQL语句执行,并且获取SQL会话中的绑定变量.等待事件.消耗资源和执行计划等等. 环境介绍:     Oracle 11.2.0.4.0     L ...

  10. 一次JVM内存调优过程

    项目中,有个同事写的JOB,使用到查询数据库大量历史协议数据(大概300W左右),由于对存放数据的list或map没有做“用完即时声明释放”. 导致此Jar部署在windows service后,进程 ...