302
社区成员




正向建模与开发这种方法侧重于从需求收集开始,逐步通过模型的建立来推进软件开发的各个阶段,最终实现完整的系统,简而言之就是在编写代码之前,提前想好有哪些类,每个类有什么属性和方法,类与类间的关系。虽然建模的过程中耗费了一定的时间,但是这样的方法可以提供一个更良好且更具有扩展性的架构,减少重构。
在本次作业中,我先根据题目要求,画出uml类图,根据uml类图的架构编写代码,在写代码的时候发现问题,进一步修改uml类图,简单介绍一下本单元用到的图。
类图:一种静态结构图,用于描述系统中的类、接口、关系和它们之间的静态结构。
状态图:一种行为图,用于描述系统中对象的状态和状态之间的转换
顺序图:一种交互图,用于描述对象之间的交互和消息传递顺序。
第十三次作业
第十四次作业
第十五次作业
由于是第一次使用uml建模再编写代码,实际上我画的类图和最终的代码之间还是有一定差距的,我一般只会写出比较重要的属性和方法,具体实现的细节需要在写代码中才能明确,所以建模和代码的实现算是双向进行的。
1、u1的话主要是看实验架构,然后找博客模仿别人的架构,甚至理解别人写的架构还需要很久
2、u2的话多线程主要还是模仿实验架构,但在实验架构上自己增加类这样的
3、u3的时候架构没什么需要设计的,因为需要根据jml来写,主要增加一些辅助类
4、u4的时候开始认真设计架构,先画类图,确定功能,然后写代码
一开始就依赖官方评测机,没有样例,而且数据点较弱,不能保证程序的正确性,第二单元开始使用评测机,然后自己在造一些数据,第三单元学会写junit,大概理解了写代码应该写完一个方法就检查一个方法的正确性,不然整体一起debug很麻烦,自己主要是从一开始觉得代码写完就可以了,到之后开始注重测试来保证程序的正确性
oo这个课学的很多,也很困难,从第一单元递归下降,对我来说极其抽象和难以理解,debug完全没有思路,也不知道自己造数据,过了评测就完事了,造成强测挂的很多,不仅有bug性能还差,第二单元多线程整体感觉要好一些,强测样例都过了,但性能上表现一般,第三单元第四单元感觉整体难度下降了,也有时间优化自己的代码了,整体感觉好了很多,从一开始把代码写完就结束,到后面慢慢学会写测试样例,优化代码,感觉自己对一个工程的过程理解更加深刻了