上班初期还不太适应,平时学习进度也跟不上,节奏慢下来会有时间更新的了。
Diagram 这边以学生课程报名系统为例 这就是一种简单的用例图
用例图可以给读者提供的信息非常丰富,但是缺点是都是概况性的内容,因而还得细化。
为了表示细节,我们要对用例图中的每一个对象都进行细化。用用例说明来进行补充用例
另外用例还有很多关系
1.子父关系 (大学模式大四VS其他)
2.代理关系(银行与用户)
3.泛化关系(银行管理系统中的跨行转账与银行内部转账流程两个用例一种转账)
4.包含关系(成绩查询系统 成绩查询用例的成功完成得包括登录这个用例的成功完成)
5.拓展关系(补考用例需要在考试不及格用例的前提上进行的拓展)
用例的学习,可以让我们在设计程序框架时提供思路,绝不仅仅只有上面几种关系,在具体问题分析时我们要结合具体问题去分析。
算法很重要,语言很重要,原理很重要,方法当然也很重要,用例图就是一种方法论,灵活运用这种方法论会让我们的程序生涯受益匪浅的。
补充一个OOA电梯系统的类图(下图)和用例图状态图的结合,用bool型表示开关即可。 这些都是构思的行业规范和通用技巧
后面是这个电梯的模拟运行情况
下面是顺序图
每一个步骤都得清晰明了,逻辑思路都有有条不紊。
这几个样例的核心都是计时器。
下面是电梯的协作图
下一步工作是制作一个详细类图 职责驱动设计
核心技术点还是计时器。
详细设计如下
敲代码永远是最后一步的。每一个工作流和设计都要进行测试。
设计本身是否合理的测试和设计是否符合相关规格的测试。
采用三明治模型
对逻辑模块进行自顶向下的实现与集成
对操作模块进行自顶向上的实现与集成
然后再对两种模块的接口进行集成与测试。
优势在于:错误隔离和可重用性。
螺旋模型
螺旋模型是软件生命周期模型的一个常用模型,即在每一次开发之前,设计工作开始之前都进行风险分析,再进行下一步分析,在风险分析到风险过大无法克服时,立即终止项目,以此类推。
当然还有很多软件生命周期模型,具体要结合实际情况才能发挥模型的最大作用,必要时也要有创新模型模式,不拘一格永远是软件开发不变的主题:变是唯一的不变。
从对象的分析,用例图,到细化,到补充,再到情景模拟分析,再到情景的处理协作,继而详细类图,最后动工代码。
行云流水,一气呵成的面向对象设计思维模式,真的能让繁琐而紊乱的程序设计周期得以优化。