2.1. “不就是个MIS吗!”
2.1.1 故事: 外籍人员管理系统
公司接单了,一个市级的外籍人员管理系统。
小周被任命为这个项目的架构师。需求分析阶段,小周也参与了。几天之后,小周就开始“轻敌”了,他在一次项目会上说了这么一句话:“这个项目不就是一个MIS
吗!”
接下来的工作比较顺利,项目组也算情绪高昂......
项目组的情绪急转直下,出现在项目接近尾声的一天,客户方的小崔,看着漂亮的“外籍人员信息录入”界面,弱弱的说了一句,“哦,外籍人员的信息,大部分都不是我们录入的,而是来自省局。”
这些问题大了,最棘手的问题是,项目定义的数据库Schema
和省级系统的数据库Schema
不一致。
- 若飙车不一致状态,就人为造成了数据格式的不兼容,这是典型的烟囱式应用的做法,为未来可能出现的更多整合要求埋下了障碍;
- 若参考省级系统的数据模型重新定义数据库
Schema
,大量代码就必须重写,项目工期必然拖延。
拼命加班......
2.1.2. 探究:哪些因素构成了架构设计的约束性需求
有人说:“错”的一半是“金”,“败”的一半是“贝”。
故事中暴露的问题看似简单:太大意了,遗漏了重要约束性需求。但试问:下次如何避免?......
只有我们这样问自己,才算是“败”中求“贝”。
反思结果可以关注第4章 ADMEMS方法的‘约束性分类理论’