【前言】在之前我们做的软件都没有章法可寻的,都是凭着我们的感觉去创作,这样做是不专业的。所以我们需要学习软件工程,这是软件设计的灵魂。这篇文章先对软件工程有个大致的了解,做好宏观把控。这个阶段是我们由业余向专业化转变的过程。
一、什么是软件工程
百度百科:软件工程师研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当时能够得到的最好的技术方法结合起来。
我的理解:随着现代技术的不断发展,我们开发软件的难度和要求不断加深,所以我们不能再随意的按照自己的想法开发,我们需要有一个共同的标准,这样才能一些合作开发和后期不同人员维护。我们就把软件开发看做完成一项工程。
二、软件工程的六个阶段
1.计划阶段(可行性分析阶段)
分析现有条件是否有能力开发此软件,主要分析经济、技术和社会条件等方面的内容,并且撰写可行性分析报告。开发人员和用户共同探讨问题的解决的方案如需要的资金、人力、物力和社会方面的影响,以及对项目的进度和预期效益进行估计。
2.需求分析阶段
将用户的要求用逻辑的软件工程语言表达出来,设计功能和数据库模型,写出需求设计书。这个阶段的难点就是明白用户的需求是什么,因为每个用户的素质都不一样,有可能表达的我们听不明白,对于他们的行业规则我们不了解,所以一定要和用户多沟通明白他们的需求,然后编写需求设计书他用户去看,一定要用通俗的语言,要让用户看懂。这一阶段十分重要,如果需求没有分析好,做出的东西不符合用户的需要那么之后所做的都是没有用的。
3.设计阶段
设计阶段包括概要设计和详细设计。概要设计就是设计软件的结构(组成模块、模块的层次结构、模块的调用关系,每个模块的功能等)。还包括系统的总体数据结构和数据库结构。
4.编码阶段
为程序员分配好编码任务,将软件的设计具体为软件代码,也就是编写代码让需求分析设计的功能实现。编写的代码一定要符合编码规范,写出来的代码不光自己能看懂得让别的程序员也能看懂。
5.软件测试阶段
软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试。有时还需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。
6.维护阶段
对软件正式交付使用过程中出现的软件的Bug进行修复,调整软件以适应正式环境,编写软件的维护报告。
三、软件的模型
1.瀑布模型
2.螺旋模型
3.快速原型模型
4.演化模型
5.渐增模型
6.喷泉模型
四、软件工程的基本目标
低成本、达要求、好性能、易移植、低维护费用、按时完工
【总结】软件工程的学习是我们向专业化转变迈出的第一步,无论学习什么内容都要首先对它有个把控,这样我们才能更好的去研究细节。这篇文章只是对软件工程有个大概的理解,里面的好多奥妙还等着小编去进一步探索,期待小编之后的博客吧!