软件工程基本概念

软件工程基本概念

ID:19286397

大小:30.50 KB

页数:7页

时间:2018-09-30

软件工程基本概念_第1页
软件工程基本概念_第2页
软件工程基本概念_第3页
软件工程基本概念_第4页
软件工程基本概念_第5页
资源描述:

《软件工程基本概念》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件工程基本概念第一章1.“软件危机”是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。2.软件危机包含下述两方面的问题:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。3.“软件工程”的概念在软件生产中采用工程化的方法,采用一系列科学的、现代化的方法技术来开发软件。这种工程化的思想贯穿到软件开发和维护的全过程。4.软件开发方法可分为两大类:面向过程的开发方法面向对象的开发方法5.结构化开发方法(传统软件工程方法)特点:快速,自然,方便。这

2、种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。6.结构化开发方法的组成:结构化程序设计方法SP法结构化设计方法SD法结构化分析方法SA法结构化分析(SA)结构化设计(SD)结构化程序设计(SP)确定用户需求;获得需求规格说明书需求说明转换为计算机中可实现的系统,完成系统的结构设计,包括数据结构和程序结构,最后得到软件设计说明书。根据软件设计,选择程序设计语言,编码实现具有良好风格的软件系统。?描述方法为DFD图、数据词典及加工说明。?描述方式:模块图、流程图及PAD图等。7.面向对象的开发方法以对象作为最基本的元素,是分析和解决问题的核心。8.

3、面向对象方法的模型代表是喷泉模型OOA面向对象的分析:强调的是对一个系统中的对象特征和行为的定义。建立系统的三类模型。OOD面向对象的设计:与OOA密切配合顺序实现对现实世界的进一步建模OOP面向对象的程序设计:是面向对象的技术中发展最快的,使用面向对象的程序设计语言,进行编码。9.软件开发模型是描述软件开发过程中各种活动如何执行的模型。因此又称为软件过程模型。10.目前典型的软件开发模型有:  瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、rational统一过程、敏捷过程与极限编程、微软过程等。各模型的优缺点详见附录1,重点看瀑布模型。第二章1.可行性研究的目的:用最

4、小的代价,在尽可能短的时间内确定问题是否能够解决。可行性研究的实质:进行一次大大压缩简化了的系统分析和设计的过程。2.可行性研究分为:技术可行性/经济可行性/操作可行性。3.从以下方面改进DFD图:1、检查数据流的正确性①数据守恒②子图、父图的平衡③文件使用是否合理。特别注意输入/出文件的数据流。2、改进DFD图的易理解性①简化加工之间的联系(联系越少,独立性越强,易理解性越好)。②改进分解的均匀性。③适当命名(各成分名称无二义性,准确、具体)第三章1.需求规格说明书的作用项目开发合同/设计编程基础/系统测试指南/竣工验收依据2.功能分解法存在的问题1.需要人工完成2.无法对描述

5、的准确度进行验证。3.难以适应需求的变化。3.SA方法的特点:由顶层向下逐层分解图形方式描述SA法的局限性:与数据库的衔接性差/人机交互方式不易表达/不适用于实时系统/书面模型(不能上机验证,不容易发现问题)第五章1.设计阶段主要任务是:系统结构的设计/数据结构的设计/用户界面的设计/算法的设计2.总体设计的两个重要任务:划分出组成系统的物理元素;设计软件的结构,也就是确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系3.软件设计的目标就是构造一个高内聚低耦合的软件模型。4.设计阶段的基本任务:决定软件系统的模块结构.5.模块化:就是将系统划分成若干模块,每个模块完成

6、一个子功能,把这些模块集中起来组成一个整体,以满足所要求的整个系统的功能。6.采用模块化原理带来的好处:?模块化使软件结构清晰,易于设计,也易于阅读和理解;?模块化使软件容易测试和调试,有助于提高软件的可靠性;?模块化能够提高软件的可修改性;?模块化也有助于软件开发工程的组织管理。7.设计过程:由外向里先确定模块的外部特征(概要设计)再确定模块的内部特征(详细设计)8.概念:①深度:表示软件结构中从顶层模块到最底层模块的层数;②宽度:表示控制的总分布;③扇出数:指一个模块直接控制下属的模块个数;④扇入数:指一个模块的直接上属模块个数。反映了模块的重用率.9.一个好的软件结构的形态

7、准则是:顶部宽度小,中部宽度最大,底部宽度次之;在结构顶部有较高的扇出数,在底部有较高的扇入数。经验表明,一个设计得好的典型系统的平均扇出通常是3或4(扇出的上限通常是5~9)。10.结构图中,直线反映模块间的调用关系。11.模块独立性准则:模块独立性的含义是指开发具有功能专一,模块之间无过多相互作用的模块。又称为模块独立性准则。这种类型的模块可以并行开发,开发容易,能减少错误的影响,使模块容易组合、修改及测试。12.尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。