软件工程重点难点Word文件下载.docx

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

软件工程重点难点Word文件下载.docx

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

软件工程重点难点Word文件下载.docx

②软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的。

③在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题。

④软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。

⑤软件的开发至今尚未完全摆脱手工的开发方式。

⑥软件的开发费用越来越高,成本相当昂贵。

软件的分类:

软件依据不同的标准,可划分为不同的分类,详见1.1.3节。

软件工程:

是指导计算机软件开发和维护的工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

软件工程准则可以概括为六条基本原理:

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

(2)坚持进行阶段评审;

(3)实行严格的产品控制;

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

(5)应能清楚地审查结果;

(6)合理安排软件开发小组的人员。

详细阐述见书中1.2.1节。

软件危机:

指的是软件开发和维护过程中遇到的一系列严重问题。

软件工程的基本内容:

软件工程学的内容可包括理论、结构、方法、工具、环境、管理、规范等。

一般掌握内容:

软件生存周期及软件开发的各种模型

软件生存周期:

一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。

软件生存周期一般可分为以下阶段:

·

问题定义

需求分析与可行性研究

设计

编码

测试

运行与维护

软件生存期也可以分为三个大的阶段:

计划阶段。

开发阶段和维护阶段。

软件开发模型:

软件开发模型是跨越整个软件生存周期的系统开发、运作、维护所实施的全部工作和任务的结构框架。

瀑布模型即生存周期模型,由B.M.Boehm提出,是软件工程的基础模型。

其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作。

采用结构化的分析与设计方法,将逻辑实现与物理实现分开。

此外,还有螺旋模型、第四代技术模型、原型模型、构件组装模型、混合模型等软件开发模型。

第二章可行性研究

重点掌握的内容:

可行性研究的系统流程图

系统流程图:

系统流程图是描绘物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序,文件,数据库,表格,人工过程等等)。

系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程。

详见2.3节。

系统流程图的功能:

1.制作系统流程图的过程是系统分析员全面了解系统业务处理概况的过程,它是系统分析员作进一步分析的依据。

2.系统流程图是系统分析员、管理人员、业务操作人员相互交流的工具。

3.系统分析员可直接利用系统流程图画出可以实现计算机处理的部分。

4.可利用系统流程图来分析业务流程的合理性。

一般掌握的内容:

可行性研究的任务和步骤,成本效益分析

可行性研究的任务:

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

一般说来,应从经济可行性、技术可行性、运行可行性、法律可行性和开发方案等方面研究可行性。

可行性研究的步骤:

可行性研究的步骤分为九个步骤。

详见2.2节。

成本效益分析:

成本/效益分析的目的是要从经济角度分析开发一个特定的新系统是否可行,从而帮助使用部门负责人正确地做出是否投资于这项开发工程的决定。

几种度量效益的方法:

1.货币的时间价值;

2.投资回收期;

3.纯收入。

第三章需求分析

需求分析的方法和面向数据流的分析方法

需求分析的方法:

需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成,它定义了表示系统逻辑视图和物理视图的方式,大多数的需求分析方法是由数据驱动的,也就是说,这些方法提供了一种表示数据域的机制,分析员根据这种表示,确定软件功能及其他特性,最终建立一个待开发软件的抽象模型,即目标系统的逻辑模型。

面向数据流的需求分析方法:

结构化分析方法是面向数据流进行需求分析的方法。

结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。

其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。

具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。

重点掌握结合实例画数据流图和定义数据字典。

详见3.2.2和3.2.3节。

一般掌握的内容:

需求分析的任务和原则

需求分析的任务:

它的基本任务是准确地回答“系统必须做什么?

”这个问题。

需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。

需求分析的任务不是确定系统如何完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

其实现步骤如下图所示:

模型化抽象化理解需求

怎么做做什么

具体化实例化

表达需求

一般说来,需求分析阶段的任务包括下述几方面:

①确定对系统的综合需求

对系统的综合需求主要有:

系统功能需求、系统性能需求、运行需求、将来可能提出的需求。

②分析系统的数据需求

③导出系统的逻辑模型

就是在理解当前系统“怎样做”的基础上,抽取其“做什么”的本质,明确目标系统要“做什么”,可以导出系统的详细的逻辑模型。

具体做法是:

首先确定目标系统与当前系统的逻辑差别;

然后将变化部分看作是新的处理步骤,对功能图(一般为数据流图)及对象图进行调整;

最后由外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。

通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型。

④修正系统开发计划

在经过需求分析阶段的工作,分析员对目标系统有了更深入更具体的认识,因此可以对系统的成本和进度做出更准确的估计,在此基础上应该对开发计划进行修正。

⑤开发原型系统

使用原型系统的主要目的是,使用户通过实践获得关于未来的系统将怎样为他们工作的更直接更具体的概念,从而可以更准确地提出和确定他们的要求。

需求分析的步骤:

1.调查研究;

2.分析与综合;

3.书写文档;

4.需求分析评审

需求分析的原则:

其基本原则可概括为:

(1)必须能够表达和理解问题的数据域和功能域;

(2)按自顶向下、逐层分解问题;

(3)要给出系统的逻辑视图和物理视图;

第四章概要设计

重点掌握的内容:

概要设计的过程和方法

概要设计任务:

①系统分析员审查软件计划、软件需求分析提供的文档,提出最佳推荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,供专家审定,审定后进入设计。

②确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。

确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。

③编写概要设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。

选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原则等。

概要设计过程:

概要设计要先进行系统设计,复审系统计划与需求分析,确定系统具体的实施方案;

然后进行结构设计,确定软件结构。

软件设计的概念与原则:

①将软件划分成若干独立成分的依据。

②如何表示不同的成分内的功能细节和数据结构。

③如何统一衡量软件设计的技术质量。

其中有几个概念:

1.模块化:

就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能,实现问题的要求。

2.抽象:

就是抽出事物的本质特性而暂时不考虑它们的细节。

3.信息隐蔽:

模块中所包括的信息不允许其它不需要这些信息的模块调用。

4.信息局部化:

是指把一些关系密切的软件元素物理地放得彼此靠近。

5.模块独立性:

是软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的。

模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。

6.耦合:

是对一个软件结构内各个模块之间互连程度的度量。

耦合强弱取决于模块间接口的复杂程度,调用模块的方式,以及通过接口的信息。

7.内聚:

标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。

概要设计的方法:

面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映射的方法。

面向数据流的设计要解决的任务,就是上述需求分析的基础上,将DFD图映射为软件系统的结构。

换句话说,这类设计方法允许把用DFD图表示的系统逻辑模型方便地转换成对于软件结构的初始设计描述。

理解基本概念:

信息流(包括变换流和事务流)、抽象与逐步求精;

模块化与信息隐藏;

软件总体结构、数据结构与软件过程。

面向数据结构的分析设计方法:

①Jackson系统开发方法(JSD):

Jackson系统开发方法(JSD,JacksonSystemDevelopment)是一种典型的面向数据结构的分析设计方法,它是以信息驱动的,是将信息转换成软件的程序结构。

详见4.4.1节。

②Warnier方法:

Warnier程序设计方法是由法国人J.D.Warnier提出的另一种面向数据结构的设计方法,又称为逻辑构造程序的方法,简称LCP(LogicalConstructionofPrograms)方法。

Warnier方法的原理和Jackson方法类似,也是从数据结构出发设计程序,但是这种方法的逻辑更严格。

详见4.4.2节。

概要设计的文档与评审

学会撰写概要设计的文档并能评审出概要设计文档是否符合要求。

概要设计说明书的主要内容及结构详见4.5节。

第五章详细设计

详细设计的任务和方法

详细设计的任务:

详细设计就是要在概要设计的结果的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。

主要任务如下:

①为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;

②确定每一模块使用的数据结构;

③确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。

④要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。

详细设计的方法:

程序流程图、N-S图、PAD图、HIPO图

程序流程图:

程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。

它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握。

在流程图中只能使用下述的五种基本控制结构。

①顺序型;

②选择型;

③while型循环;

④until型循环;

⑤多情况型选择。

详见5.2.1节。

N-S图:

Nassi和Shneiderman提出了一种符合结构化程序设计原则的图形描述工具,称为盒图,又称为N-S图。

在N-S图中,为了表示五种基本控制结构,规定了五种图形构件。

②选择型;

③WHILE重复型;

④UNTIL重复

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

当前位置:首页 > 高等教育 > 文学

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

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