软件工程再学习

          我们在日常生活中需要有一定的约束,当这个约束使用的人多了,被广泛的认可了,那么它就成为了标准。这篇文章,我们来学习下软件开发的一些规则或者标准--软件工程。

         软件开发刚刚兴起的时候,并没有软件工程的概念,这个阶段的程序主要围绕硬件进行开发,规模很小 ,工具简单,分工模糊,程序设计追求简单快捷,没有文档资料,软件主要用于科学计算。随着硬件的发展,逐渐出现了简单的开发组织,并且软件开始产生了显著的效益。随着系统规模越来越大,高级语言层出不穷,应用领域不断增大,开发者和用户有了明确分工,但是软件开发技术并没有突破,产品质量不高,效率低下,导致了软件危机的产生,软件工程应运而生。

         软件工程是一门学科,它的存在目的就是为了构建和维护有效的、实用的和高质量的软件。它涉及到了程序设计语言、数据库、系统平台、管理学等多个方面。

         我们从两个角度来学习软件工程--软件开发和软件管理。

软件工程再学习_第1张图片

         一个典型的软件开发过程包括计划、需求分析、设计、编码、测试、维护阶段。当然了,我们首先需要确定一个开发模板,常见的模板包括瀑布模型、原型、螺旋、喷泉模型,瀑布模型是最常见的一种模型,瀑布模型结构图如下:

 软件工程再学习_第2张图片

        需求分析的目的就是解决“做什么”的问题。它的内容包括功能、性能、数据和界面 续期。需求分析的过程包括四步:问题识别、分析综合、编制文档和需求评审,通常使用的分析方法是结构化的分析方法。

          设计的目的是解决“怎么做”的问题,他通常包括两部分,概要设计和详细设计,概要设计是将整个系统分为有限个子模块,并且设计好模块之间的关系,详细设计是分析各个子模块的具体功能。常用的设计方法包括Jackson方法和Parnas方法。

        软件测试时一项很重要的部分,测试是软件上线的最后一道关卡,测试是为了发现未发现的问题,测试分为四类,单元测试、集成测试、确认测试和系统测试,测试方法分为两类,静态测试和动态测试,动态测试包括白盒测试和黑盒测试,单元测试为白盒测试,集成测试和确认测试为黑盒测试。

         软件管理包括项目管理和质量管理,项目管理的核心问题是 成本、质量和进度管理,项目管理 包括项目估算,组织与计划,配置管理和风险管理。质量管理有两个模型,ISO标准和McCall质量模型。

你可能感兴趣的:(软件工程)