Skip to content

i will use java tdd and ddd design this exam system,now let's start

License

Notifications You must be signed in to change notification settings

brucevsked/exam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

exam

在一个项目从启动到验收每个环节都很重要
但我们的关注点应当放到最关键的部分
当有余力的时候再完善非关键部分
本项目是基于领域驱动设计的一些学习与思考
仅是个人观点与理解,不当之处请自行领悟

需求
设计与建模
理论故事
编码与单元测试验收测试
持续集成与部署
相关文档交付如使用文档部署文档

因为有了需求才有了软件,
在了解需求的时候要尽可能了解软件运行的各个环境细节
要搞清楚需求中每一个关键字含义并用自己语言解释给客户听

对已经理解的需求进行设计与建模使用面向对象与领域驱动的思想
设计时要符合设计原则

将设计好的领域模型使用故事描述出来验证是否符合需求

使用TDD,BDD的方法进行编码与测试
并对每一个编写好的模块基于故事编写验收测试
如果对性能与并发有严格要求还需要进行性能测试与并发测试
尽可能使用自动化脚本来完成性能与并发测试等测试

使用vagrant,virtualbox,git,docker,jenkins等工具
进行持续集成与持续部署

编写用户手册,交付一份新版本的部署文档等
交付完成以后项目组对项目进行合理复盘来思考优点与缺点
发扬优点改进缺点仿佛在这个饼下老衲就是无敌的存在

然后休息一周或更长时间,天天晒晒太阳。并在轻松中回忆有哪些不足及如何改进
这可能是最理想的情况了。

实际情况却是
客户说要一套考试系统
项目经理去找客户喝了几天酒,然后自己不知道跑哪去了,偶尔会看到他其实是搞销售的
产品经理去客户那问客户要什么样的系统,客户说考试系统你自己想下吧
产品经理按自己多年行业经验做了一个原型
客户简单看了下说好,有些时候客户压根就没看
开发团队找一个现成的框架开始编码
有些时候实在找不到合适的框架就拿以前的改改
新人实在找不到就试着自己搭建,跳各种坑
没有几年经验的大佬无论对技术还是业务思想等级没跟上
编写出来的代码耦合性高漏洞满天飞舞
客户试用了一下偶尔会出现404,500之类的大体还算满意
在开发小哥冒着汗听完客户要添加需求的时候心是火热哟
没有稳定的团队。没有足够等级的技术与思想这是国内大多数团队所面临的现状。
即使项目中有一个或几个等级超神的大牛让项目起来了,在项目验收以后很多项目组面临的是?
在每一个项目组中人来人往,你仿佛已经习惯了无尽的加班与复制。
对于每一个上进的人来说这肯定是不够的。
他们想尽办法提高自己技术等级,思维模式。但在信息高度发达的网络中迷失了自我。
极少的人知道要解决项目管理中的每一个问题
于是在大公司中他们花大价钱对员工进行培训
编写各种自动化工具来验证员工编码规范
强大的自动化集成自动化部署系统让他们不断向前
还有技术与思想高等级的人对设计与编码进行评审
让那些新人可以快速成长。
这些优秀的公司形成了良性循环,钱能解决的问题不是问题。
在足够的时间里不要对需求进行过度设计
但大多数中小企业呢,在复杂的开发流程中,在短期的项目管理内生存。
一个月做一套类似淘宝或京东是多数中小软件公司面临的笑话。

在环境里每一个微笑背后都是无尽的痛苦。
那我们就尽可能的提高自己等级来享受这份痛苦吧。
party start

About

i will use java tdd and ddd design this exam system,now let's start

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages