求职简历模板

注册

 

发新话题 回复该主题

软考基础知识第8天关注我后台回复简历 [复制链接]

1#

软件工程基础知识

软件工程概述

软件工程指的是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,目的是提高软件生产率、提高软件质量、降低软件成本。

1、计算机软件

计算机软件指的是计算机系统中的程序及其文档。程序是计算任务的处理对象和处理规则的描述。任何以计算机为处理工具的任务都是计算任务。

按照软件的应用领域,将计算机软件分为以下几类,包括:

1)系统软件;

2)应用软件;

3)工程/科学软件;

4)嵌入式软件;

5)产品线软件;

6)Web应用软件(WebApp);

7)人工智能软件;

8)开放计算;

9)网络资源;

10)开源软件。

2、软件工程基本原理

美国著名的软件工程专家B.W.Boehm于年提出了软件工程的7条基本原理,包括:

1)用分阶段的生命周期计划严格管理;

2)坚持进行阶段评审;

3)实现严格的产品控制;

4)采用现代的程序设计技术;

5)结果应能清楚的审查;

6)开发小组的人员应少而精;

7)承认不断改进软件工程实践的必要性。

3、软件生存周期

同任何事物一样,一个软件产品或软件系统要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称之为软件生存周期。软件生存周期包括以下7个方面:

1)可行性分析与项目开发计划:这个阶段主要确定软件的开发目标及其可行性。参与该阶段的人员有用户、项目负责人、系统分析师。产生的文档有可行性分析报告、项目开发计划。

2)需求分析:该阶段的任务不是具体的解决问题,而是要确定软件系统要做什么,确定软件系统的功能、性能、数据和界面等要求,从而确定系统的逻辑模型。参与该阶段的人员有用户、项目负责人、系统分析师。产生的文档主要是软件需求说明书。

3)概要设计:该阶段开发人员把确定的各项功能需求转换成需要的体系结构。概要设计就是设计软件的结构,明确软件由哪些模块组成,这些模块层次结构是怎样的、调用关系是怎样的,每个模块的功能是什么。参与该阶段的人员有系统分析师、软件设计师,产生的文档主要是概要设计说明书。

4)详细设计:主要任务是对每个模块的功能进一步详细、具体的描述。参与该阶段的人员有软件设计师、程序员,产生的文档主要是详细设计文档。

5)编码:把每个模块的控制结构转换成计算机可接受的程序代码,即写成某种特定程序设计语言表示的源程序清单。

6)测试:测试是保证软件质量的重要手段。参加测试的人员通常是另一部门(或单位)的软件设计师或系统分析师,产生的主要文档有软件测试计划、测试用例、测试报告。

7)维护:软件维护是软件生存周期中时间最长的阶段。软件已交付且正式投入使用后,便进入维护阶段。对软件进行修改产生的原因包括:

(1)运行中发现隐含的错误而需要修改;

(2)为了适应变化的(或变化后)工作环境而修改;

(3)需要对软件功能进行扩充、增强而进行的修改;

(4)为将来软件维护活动做预先准备;

4、软件过程

软件开发中遵循一系列可预测的步骤(即路线图),该路线图成为软件过程。过程是活动的集合,活动是任务的集合。

软件过程有3层含义:

(1)个体含义:即某产品、系统在生存周期中的某一类活动的集合,如开发过程、管理过程等;

(2)整体含义:指软件产品、系统在所有上述含义下的软件过程的总体;

(3)工程含义:指解决软件过程的工程。

(1)能力成熟度模型(CMM)

CMM是对软件组织进化阶段的描述,随着软件组织定义、实施、测量、控制和改进其软件过程,软件组织的能力经过这些阶段逐步提高。CMM将软件过程改进分为5个成熟度级别。

(2)能力成熟度模型(CMMI)。

CMMI提供了两种表示方法:阶段式模型和连续式模型。

1)阶段式模型

结构类似CMM,它

分享 转发
TOP
发新话题 回复该主题