软件工程重点.docx

上传人:b****6 文档编号:3007164 上传时间:2022-11-17 格式:DOCX 页数:9 大小:72.62KB
下载 相关 举报
软件工程重点.docx_第1页
第1页 / 共9页
软件工程重点.docx_第2页
第2页 / 共9页
软件工程重点.docx_第3页
第3页 / 共9页
软件工程重点.docx_第4页
第4页 / 共9页
软件工程重点.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

软件工程重点.docx

《软件工程重点.docx》由会员分享,可在线阅读,更多相关《软件工程重点.docx(9页珍藏版)》请在冰豆网上搜索。

软件工程重点.docx

软件工程重点

第一章概述

1.软件的定义:

是指包括程序、数据以及相关文档的完整组合。

概念

含义

软件

程序、数据和文档

程序

软件开发人员根据用户需求开发的,用某种程序设计语言描述的,能够在计算机中执行的语句序列

数据

程序能够正常操纵信息的数据结构

文档

与程序开发、维护和使用有关的各种图文资料

2.软件分类

按工作方式划分

实时处理软件、分时软件、交互式软件、批处理软件

按功能划分

系统软件、支撑软件、应用软件

按规模划分

微型、小型、中型、大型、甚大型、极大型

按服务对象的范围

项目软件、产品软件

按使用频度

一次性使用软件、频繁使用软件

按软件失效的影响

高可靠性软件、一般可靠性软件

3.软件工程是指导计算机软件开发和维护的一门学科,它应用计算机科学、数学和管理科学等原理,以及借鉴传统工程的原则和方法,来创建软件,从而达到提高质量、降低成本的目的。

4.软件工程项目的基本目标

a)付出较低的开发成本

b)达到要求的软件功能

c)取得较好的软件性能

d)开发的软件易于移植

e)需要较低的维护费用

f)能按时完成并及时交付

g)开发的软件可靠性高

5.基本目标之间的关系

低成本、易于维护、可靠性高、高性能、按时交付

6.软件工程三要素:

方法、工具、过程

7.软件的生命周期

软件从提出需求开始直到该软件报废为止的整个时期

包括软件定义、软件开发、运行维护3个部分,

6个步骤:

制定计划、需求分析、软件设计、软件编码、软件测试、运行维护

8个步骤则是:

软件定义(问题定义、可行性研究、需求分析)、

软件开发(总体设计、详细设计、编码和单元测试、综合测试)、

运行维护

8.软件过程/开发模型

9.统一软件过程有三个突出的特点:

用例驱动、以构架为中心、采用迭代和增量模型

10.软件开发基本策略:

复用、分而治之、折中与优化

第二章可行性研究

1.目的/目标

可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。

用最小的代价在尽可能短的时间内确定问题是否能够解决。

不是解决问题,而是确定问题是否值得去解决。

2.任务

经济可行性分析、技术可行性分析、法律可行性分析、操作可行性分析

3.怎么进行可行性研究

1)复查系统规模和目标

2)研究目前正在使用的系统

3)导出新系统的高层逻辑模型

4)进一步定义问题

5)导出和评价供选择的解法

6)推荐行动方针

7)草拟开发计划

8)书写文档提交审查

4.经济效益的度量

1)货币的时间价值

2)投资回收期

3)纯收入

4)投资回收率

第三章需求分析

1.目的

弄清楚需要系统“做什么”的问题

Ø将用户非形式的需求陈述转化为完整的需求定义

Ø由需求定义转化成需求规格说明

2.任务

a)确定对系统的综合要求

b)分析系统的数据要求

c)导出系统的逻辑模型

d)修正系统开发计划

第五章总体设计

1.目的

以软件需求规格说明书为依据,实现软件的需求,并将设计的结果反映在“设计规格说明书”文档中。

解决“怎么做”的问题。

2.软件设计任务

使用一种设计方法,将软件分析模型中通过数据、功能和行为模型所展示的软件需求信息传送给设计阶段,

产生:

数据/类设计、体系结构设计(总体设计)、

􀂃接口设计、过程设计(详细设计)

3.总体设计任务

①制定规范

②设计软件系统结构(简称软件结构)

③处理方式设计(功能设计、性能设计)

④数据结构及数据库设计

⑤可靠性设计

⑥编写概要设计文档

⑦概要设计评审

4.软件设计两个阶段:

第一阶段:

概要设计(总体设计)

第二阶段:

详细设计(过程设计)

5.软件设计基本原理

a)抽象与逐步求精

b)模块化

c)信息隐蔽与局部化

d)模块独立

6.七种耦合

7.七种内聚

 

第六章详细设计

 

1.任务

a)算法设计

Ø用图形、表格、语言等形式描述

b)数据结构设计

Ø对概念性的数据类型进行确切定义

c)物理设计

Ø即确定数据库的物理结构

d)其他设计

Ø代码设计

Ø输入输出格式设计

Ø人机对话设计

e)编写详细设计说明书

f)评审

 

2.详细设计工具

a)图形工具

􀂃程序流程图、盒图(N-S图)、PAD图

b)表格工具

􀂃判定表和判定树

c)语言工具

􀂃PDL语言

3.PDL(ProgramDesignLanguage)

是一种用于描述功能部件的算法设计和处理细节的语言

优点:

1)可以作为注释直接插在源程序中间;

2)可以使用普通的正文编辑程序或文字处理系统来完成PDL的书写和编辑工作;

3)现在已经有一些自动处理程序可以自动地把PDL生成程序代码。

缺点:

不如图形工具形象直观。

4.McCabe度量法

环路复杂性度量法,是一种基于程序控制流的复杂性度量方法。

基于一个程序模块的程序图中环路的个数,计算它先要画出程序图

5.结构程序设计:

一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。

a)经典的结构程序设计:

只允许使用顺序、IF_THEN_ELSE选择和DO_WHILE循环;

b)扩展的结构程序设计:

除了三种基本控制结构,还使用DO_CASE和DO_UNTIL循环;

c)修正的结构程序设计:

除了三种基本控制结构和两种扩充结构,还使用BREAK等结构。

第七章实现

1.结构化程序设计的原则

1)使用语言中的顺序、选择、循环等基本控制结构表示程序逻辑

2)选用的控制结构只准许有一个入口和一个出口

3)复杂结构应该用基本控制结构进行组合嵌套来实现

4)严格控制GOTO语句

2.软件测试的目的是:

设计测试用例,以最小的代价、在最短的时间内系统地发现各种不同类型的错误。

3.软件测试的步骤

单元测试、集成测试、确认测试、系统测试

单元测试通常采用白盒测试法、确认测试一般使用黑盒测试法。

4.软件测试的方法

1)静态测试

通常不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试。

2)动态测试

通过输入一组预先按照一定的测试准则构造的实例数据动态运行程序,实现发现程序错误的过程。

Ø白盒测试(结构测试)

把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作。

Ø黑盒测试(功能测试)

把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据需求规格说明书,检查程序的功能是否符合功能需求。

5.调试是在测试发现错误之后排除错误的过程。

调试活动由两部分组成:

a)确定程序中可疑错误的确切性质和位置

b)对程序(设计,编码)进行修改,排除这个错误

6.调试的方法

1)蛮干法:

打印内存的内容,从中寻找错误的线索,是效率最低的程序调试方法。

2)回溯法:

从发现问题的程序段开始人工地往回追踪分析程序代码,直到找到错误。

3)原因排除法

包括:

归纳法、演绎法、对分查找法等。

第八章维护

1.软件维护定义:

所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需求而修改软件的过程。

2.类型:

完善性维护、改正性维护、适应性维护、预防性维护

3.如何提高可维护性?

建立明确软件质量目标和优先级   

使用提高软件质量的技术和工具

进行明确的质量保证审查

选择可维护性程序设计语言

改进程序设计的文档

构件:

也称为组件,是一段实现一系列有确定接口的程序体,具有自己的功能和逻辑,能同其它构件组装起来协调工作。

V模型:

描述软件开发各阶段与测试策略之间对应关系

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1