你了解软件工程吗?

软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件以及把正确的管理技术方法结合起来的学科。

一般人们提到软件,仅仅会想到开发一个层面,其实软件开发是个很狭义的概念。软件工程涵盖了软件生命周期中所有的工程方法、技术和工具,包括需求、设计、编程、测试、运行和维护的全部内容。它涉及到程序设计语言、数据库、软件开发工具、系统平台、规范标准、设计模式,管理方法等一系列内容,因此,提到软件不仅仅只有开发。

一个优秀的程序员应该从软件工程的各个方面去提高自己,不能只是一味追求开发水平的提升。

一、谈谈信息系统的生命周期


万事万物都有生命周期,信息系统也有生命周期。信息系统的生命周期可以分为4个阶段:立项,开发,运维,消亡。

立项阶段包括2个过程:一是概念的形成过程,二是需求分析过程。

开发阶段可分为5个过程:总体规划阶段,系统分析阶段,系统设计阶段,系统实施阶段,系统验收阶段。

运维阶段:信息系统通过验收,正式移交给用户后,就进入运维阶段,软件维护是生命周期的一个完整部分。

消亡阶段:企业的信息系统不可避免的会遇到系统更新改造,功能扩展,甚至报废重建的情况。


二、谈谈软件工程之需求


软件需求的三个层次:

1、业务需求:表示客户高层次的目标。

2、用户需求:描述的是用户的目标。(能付款,能买理财产品等)

3、功能需求:开发人员必须在软件中实现的软件功能,用户利用这些功能来完成任务。(二维码收付款等)

软件需求的分类:

1、功能需求:软件必须完成的基本动作。

2、性能需求:软件交互的静态或动态数值需求。如响应速度,处理速度等。

3、设计约束:受其他标准限制等方面的影响。

4、属性:可用性、安全性、可维护性、可转移性。

5、外部接口需求:用户接口、硬件接口、软件接口、通信接口。

需求开发的4个主要活动:

1、需求获取:包括需求来源和获取需求的技术,涉及软件设计人员如何与客户建立有效的沟通,并获得用户的需求。

2、需求分析:是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户的描述转化为完整的需求定义,从而确定系统必须做什么的过程。

3、需求定义:就是确定项目的目标和范围。

4、需求验证:就是确认用户的需求是否满足,需求验证的四种基本方法是检查,演示,测试和分析。

需求过程,最终是要把握需求的本质,了解客户真正需要的功能,需求避免镀金。

三、谈谈软件工程之设计


软件设计是从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。

软件设计体现在工作中很重要的就是架构设计,架构视图定义软件的内部结构。

常见的视图有以下五种:

1、逻辑视图:用来描述系统的功能需求(功能蓝图)。

2、用例视图:是从用户角度描述系统功能,是用户能看到的系统功能的模型图(用例图)。

3、组件视图:也叫构建视图,显示系统组件间的结构关系(组件图)。

4、过程视图:又称进程视图,又称处理视图。关注进程,线程,对象等运行时概念,以及相关的并发、同步和通信等问题(序列图,活动图)。

5、部署视图:为了便于理解系统在一组处理节点上的物理分布。

640x_fmt=png

四、谈谈软件工程之测试


根据软件的开发过程划分对于测试:单元测试、集成测试、系统测试、验收测试。

单元测试:是开发人员对软件中的最小可测试单元进行检查和验证。

集成测试:也叫组装测试或联合测试。在单元测试的基础上,将多有模块按照设计要求组装成子系统或系统,进行测试。

系统测试:将软件、硬件、外设、网络等其他元素结合在一起,进行信息系统的组装测试和确认测试。目的是验证系统是否满足了需求规格的定义,包括软件质量属性中的功能和非功能属性。

验收测试:是部署软件之前的最后一个测试操作,产品发布之前所进行的软件测试活动。

测试的关键是测试用例的设计。测试用例的设计有2种方法。

白盒测试:测试者完全了解程序的结构和处理过程,根据程序的内部逻辑来设计测试用例,检查程序中的逻辑是否都按照预定的要求正确的工作。

黑盒测试:也叫功能测试,把程序看作一个不能打开的黑盒子,不考虑程序内部结构和特性的情况下,在程序接口进行测试。

其他测试术语:

Alpha测试:也称α测试,是在开发环境下进行的测试。

Beta测试:是一种验收测试,是软件产品完成了功能测试和系统测试之后,在产品发布之前进行的软件测试活动。Beta测试由软件的最终用户们现场测试。

冒烟测试:进行基本性能测试,主要功能是否实现,是否存在死机或数据严重丢失等情况。通过了该测试,则可以根据正式测试文档进行测试。

回归测试:是修改了代码后,重新进行测试已确认修改没有引入新的错误或导致其他代码产生错误。

640x_fmt=png

追梦人

知识指导行动,行动决定命运。

微信ID:hellodreamcatcher 

640x_fmt=jpeg

长按二维码关注追梦人

来源:追梦@Java

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年3月20日
下一篇 2019年3月20日

相关推荐