怎样从头至尾设计一个软件
蟹妖~
设计软件的过程不可能是一步到位,在整个周期,你会不断对软件进行修改,不断来进行改进。如果是你一个人独立设计一个软件的时候,可以按照以下几步来做:
【怎样从头至尾设计一个软件】 1、明确需求(题主已经明确了),假设运行的平台为Windows的客户端
2、设计交互以及UI
3、设计程序
4、测试、迭代等
交互的设计决定着整个软件的友好度,用户上手的难度等,而程序的设计决定着稳定性、安全性、使用考虑,以及可维护性等。
按照最简单的步骤来说,假设我要设计一个文本编辑器,需求是能够读取txt的文档,并且能够修改和保存,我的话会这样来考虑:
1. 先确定用户群体:这个编辑器的用户群体是什么?(Windows用户?Linux用户?用户计算机水平怎么样?如果面向小白用户写了款VIM那真的是很糟糕)
2. 根据需求,整理出软件的功能点,设计出软件的交互图,以及软件的界面。可以理解为,用PS画一个软件出来,并且设计好当点了哪些按钮的时候会产生哪些效果。
3. 根据前面整理出来的信息选择合适语言和框架。假如我们的文本编辑器需要在Windows、Linux上都能够运行,那么就最好选一种跨平台的语言和库。如:我选择用C++来写,使用QT库。
4. 根据需求来设计软件代码的结构。结构应该是松耦合的,也就是说,虽然需求只是说能读取txt,但是你可能需要为以后读取其他格式留余地。可以参考《设计模式》来设计出松耦合的程序。
5. 开始编写代码、测试用例等。鼓励在一边写代码的时候一边写测试用例,这样可以最早发现问题。
6. 代码写完之后,开始进行测试(黑盒、白盒等)。
7. 发布。
日后如果要增加新的功能,我可以回到第4步来做,一个好的结构可以减少代码重构的危险。
至于如何设计一个数据结构,这个需要具体事例具体分析,每个数据结构都有自己相应的场景,没有绝对的好和坏。题主可以先实现,再来优化,不要想着一步可以到位,慢慢就会有经验了。
■网友
已经有需求了就说明你已经知道要做一个什么东西,需要的功能性也有了,这就立马开始设计功能了,别想着书本,那些是概念,你先设计过几个软件以后,再回去看看书,能够发现里面好多东西是有用的,那会儿吸收最快,现在,就算你把那本书都背下来,也做不出来。
拿到需求,前提是需求是对的情况下,你应该能捋出来需要的功能点,列出来,别怕失败,别怕错了,先列出来,然后再看需求,脑子里想象这个人在用的时候,怎么操作,然后再回来看功能,再整理汇集功能,把同类的放一起。这么反复两三遍。那这个功能设计就出来了,
没经验怕错了?那就再找需求提供的人呢哪里确认这些功能能不能满足,他看了以后,有的会在需求的基础上,又提一些新的需求,还有可能去掉一些,这么来两遍,客户确认了,其实这个初步的功能抽象也做出来了,
然后就是抽象,把每个功能需要的数据抽象出来,这也就是经验了,然后就是功能数据怎么流转,这要说就太多了。
主要就是做,别怕错,错了改就是了。
觉得我回答的怎么样?还不赶快点赞关注一下?
主页更多文章
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- “厉行节约反对浪费”主题设计公益活动成果发布
- 互联网怎样解决“家政服务上门速度慢”的问题
- 趣头条|雪佛兰创界,外观设计大气,你会喜欢这款车吗?
- 环球车讯网|全新大众途观,外观的设计更加时尚,更加大气,“满满”的高级感
- 趣头条|日产奇骏,整体设计不错,你会喜欢吗
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 趣头条|大众ID.3外观设计风格极具未来感,太好看了
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结