初识软件工程
什么是软件工程?
什么是软件工程?可能大多数的非计算机的专业的人对软件工程的概念是比较模糊的,在我没有接触IT之前我是没有思考过这个问题的,现在作为一个准IT从业人员,我也现学现卖,也算是给自己做一个课后总结。
软件工程是在给定成本、给定时间进度、给定资源的前提下,开发出具有 有效性、可维护性、可重用性、以及可移植性、可追踪性的软件产品。
当然任何一件事情都不是一蹴而就的,软件产品的开发也是一样的,就像任何一个产品一样,也是有生命周期的。
什么是软件生命周期?
通俗的来讲就是一个软件产品从“出生到坟墓”的整个过程,把整个软件生命周期分为软干个时期以及阶段,让得每个时期与阶段都有明确的任务,使规模大,结构复杂和管理复杂的软件产品的开发变得更容易控制和管理。可以将软件生命周期概括为三个时期、八个阶段,并且每个阶段都要有定义、工作、审查、形成文档以供交流或是备查,以提高软件的质量。
1.软件定义期
1)可行性研究阶段—《可行性研究报告》
从技术、经济、市场、人力、时间、回报率、民族风俗以国家或当地的政策上作为研究基础,然后确定软件的开发目标及其可行性。
2)需求分析阶段—《软件需求说明书》
在确定软件可开发的情况下,对软件需要实现的各个功能进行详细的分析。如功能性需求,非功能性需求,搭建的服务器以及其他。需求分析阶段是软件开发和维护的前提,明确需求分析的目标,同时对需求进行正确深入的分析,进而采用适合的工具对需求进行说明和描述,才能全面并且正确的进行需求分析。需求分析阶段是一个非常重要的阶段,也会在整个软件开发过程中不断变化和深入的阶段,能够为整个软件开发项目的成功打下良好的基础。
2.软件开发期
3)概要设计阶段—《概要设计说明说》
根据需求分析的结果,对整个软件产品进行设计,如技术选型、数据结构设计、功能模块的划分等等。通常由项目架构师设计。
4)详细设计阶段—《详细设计说明书》
根据架构师设计的框架、数据结构、功能模块等设计规划,详细设计需要实现的细节、属性、方法、算法等等。通常由设计师设计。
5)编码实现阶段—《项目开发进度报告》
将软件设计的结果转换成计算机可以运行的程序代码。其中,UI设计师配合项目经理设计出效果图;前端工程师把效果图转换成计算机可执行的HTML、CSS、JS等格式;后端工程师则需要准备项目中需要的数据。需注意的是:在程序的编码实现的过程中,必须制定统一,符合标准的编写规范。以保证程序的可读性、易维护性,提供程序的运行效率。通常由前端开发工程师,后端开发工程师完成。
6)项目测试阶段—《项目测试报告》
在软件设计完成后需要经过严密、反复的测试,以发现软件在设计以及编码实现后存在的问题并加以纠正。通常由测试工程师测试。
3.软件维护期
7)软件部署阶段—《软件部署计划书》
在项目完成后,把项目部署到服务器上。通常由项目实施经理及实施工程师完成。
8)项目维护阶段—《软件问题/修改报告》
是软件生命周期中持续时间最长的阶段,根据软件的运行情况,纠正软件产品出现的错误,以及对软件进行适当的修改,以适应新的要求。
以上是对软件工程的概要解说,欢迎各位捉虫~