![a9f1211fb59469231f72147875e63a8d.png](https://i-blog.csdnimg.cn/blog_migrate/1a4f6d0ec3037f59c1db01d73f820508.jpeg)
![9212f6fe9f5285dc5cdbe0a043ad6c2e.gif](https://i-blog.csdnimg.cn/blog_migrate/47c6502e816a3ed0496bf3e2ef3fec6f.gif)
在许多人看来,计算机软件的开发主要是开发人员的工作。只要告诉他们想法,可以开发软件。当然这种情况是存在但这代表着软件很简单。要不然是具有这种能力的开发人员综合能力很强,但是这种认识也是片面的,计算机软件的开发不仅仅是开发人员的工作,那么,开发计算机软件的基本过程到底是什么呢?
![300205a915b6b9e9b25e93f5742b8d74.png](https://i-blog.csdnimg.cn/blog_migrate/33adbdb45a96161cdff8321eba7238ae.jpeg)
在小编看来,计算机软件的发展过程可分为:可行性分析;需求分析;设计(摘要,详细);发展阶段;测试阶段;运行维护。
![7de554a65ed41914c8dce6d9f3c1d135.png](https://i-blog.csdnimg.cn/blog_migrate/1f62e2f08198d574b75f3f263c6586fb.jpeg)
可行性分析
公司应确定项目经理。公司和项目经理确定项目的主要组成部分,包括产品经理、架构工程师、UI工程师、开发工程师、测试工程师等。
目现场、效益、技术、管理等进行研究和可行性分析,及时与客户沟通,输出项目研究报告,可行性分析报告等..
如果项目小组在可行性分析后能够在规定的时间和资源内完成项目,将发布成本和资源使用计划,并将相关信息提交给公司和客户,以便他们为下一步做好准备。如果经过研究和分析,项目团队无法在规定的时间和资源范围内完成项目,相关依据将提交给公司和客户,协调资源的调整,并在调整完成后进入下一步。
需求分析
产品经理应进行需求收集、需求分析和需求确认工作,然后输出需求分析文档和产品原型图,文档和产品原型图应及时与客户进行沟通。不符合客户要求的,应及时修改,并对变更进行良好的记录。 确定原型后,产品经理可以输出业务流程图和页面跳转流程图,并与客户一起确认开发前的要求。
![85f1dc711aaa9bbdb7ec4e104c165f38.png](https://i-blog.csdnimg.cn/blog_migrate/5bceac549711d590f3be1d00621c15c0.jpeg)
产品经理输出培训文件来解释项目团队的需求。
需要对整个软件的体系结构和关键模块进行分析和设计。工程师根据需求和体系结构设计制定项目开发计划和模块分解表。UI工程师根据需求、原型图和开发计划制定UI设计计划,以确保及时完成每个页面的ui设计
概要设计
工程师根据产品原型图、UI效果图和详细设计文件,选择合适的开发环境、工具、语言等,统一各个模块和页面的命名规范。
构建软件框架,进行模块编码。
开发工程师应测试测试用例的自检或开发人员相互测试以消除问题。
开发工程师应养成良好的开发习惯,编写开发说明,注释代码函数,使代码更具可读性。
![59a5d7391f590cf3e8ef8b3a2439a959.png](https://i-blog.csdnimg.cn/blog_migrate/de44e6af01d4c8e6782150796a863d47.jpeg)
测试阶段
测试工程师根据开发阶段形成的描述文档和程序架构设计测试用例。测试用例不仅要考虑合理的输入数据,还要考虑不合理的输入数据。
工程师对程序进行单元测试、集成测试和系统测试,检查指定的功能是否正确完成,记录编码错误和算法错误,并提交给开发工程师。
![763a96dea3a8c6698bd1aa6a93aec1c7.png](https://i-blog.csdnimg.cn/blog_migrate/2df98eff5601c2498eb02da31db37239.jpeg)
开发工程师根据测试工程师提交的测试文档修改错误,然后提交给测试工程师进行测试。
产品经理和测试工程师为普通用户安排软件测试版本,尝试收集用户的意见和问题,并将软件错误提交给开发工程师进行修改。此时,软件会有少量错误并对软件进行更改。
完成软件各端口的操作手册和软件使用手册。
运行维护
进行软件验收、在线操作。
产品经理培训软件用户。
开发工程师定期维护软件并及时修改使用过程中的问题
从基本过程可以看出,软件开发不仅仅是开发人员的工作。为了开发满足要求并稳定运行的软件,项目团队需要完成大量的开发前和开发后相关工作。