软件工程概论基础概念

上传人:ni****g 文档编号:550332956 上传时间:2023-11-21 格式:DOCX 页数:17 大小:67.55KB
返回 下载 相关 举报
软件工程概论基础概念_第1页
第1页 / 共17页
软件工程概论基础概念_第2页
第2页 / 共17页
软件工程概论基础概念_第3页
第3页 / 共17页
软件工程概论基础概念_第4页
第4页 / 共17页
软件工程概论基础概念_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《软件工程概论基础概念》由会员分享,可在线阅读,更多相关《软件工程概论基础概念(17页珍藏版)》请在金锄头文库上搜索。

1、Part1: 软件的概念: 软件是能够完成预定功能和性能,并对相应数据进行加工的程序和描述程序及其 操作的文档。(它是包括程序,数据及其相关文档的完整集合。) 软件 = 程序+数据+文档 程序 = 算法+数据结构 软件危机:指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。 软件危机主要包括的问题(两方面) : 如何开发软件 ,以满足对软件日益增长的需求。 如何维护数量不断膨胀的已有软件。 软件工程: 把系统的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程应 用于软件中。 对 中提到的各种方法的研究。 软件工程包括“管理”和“技术”两方面内容: 管理 对人、财、物的

2、合理使用和配置; 技术 指软件开发中采用的方法、工具和过程。 软件工程方法学三要素:工具、方法和过程。软件工程目标: 在给定成本、进度的前提下,开发出具有 可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可追踪性 、 可移植性、 可互操作性并满足用户需求的软件产品。 软件工程原则:在软件开发过程中,为了达到软件开发目标,必须遵循下列原则:1. 抽象 2.信息隐藏 3.模块化 4.局部化 5.一致性 6.完整性 7.可验证性Part2软件生命周期: 软件产品从形成概念开始,经过开发、运行和维护直到退役的全过程称为软件生命(存)周期。 软件生命周期组成:包括软件定义、软件开发、软

3、件运行与维护三部分。软件过程:1. 为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤2. 软件过程是软件工程三要素之一。3. 通常用软件生命周期模型来描述。 软件生命周期模型,又称软件开发模型软件过程模型软件工程范型。 指软件项目从需求定义直至软件经使用后废弃为止,跨越整个生存周期的 系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。瀑布模型优点: 可强迫开发人员采用规范的方法; 严格地规定了每个阶段必须提交的文档; 要求每个阶段的所有产品都必须经过质量保证小组的仔细验证。缺点: 无法解决软件需求不明确或不准确的问题; 可能导致最终开发的产品不能真正满足

4、用户需要。 瀑布模型比较适合开发需求明确的软件。螺旋模型 特点:螺旋模型的每一个周期都包括计划(需求定义)、风险分析、工程实现和 评审 4 个阶段。优点: 强调可选方案和约束条件,有利于已有软件的重用,也有助于把软件质量作为 软件开发的一个重要目标; 减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险; 维护是一个周期,与开发并没有本质区别。缺点: 需要开发人员具有相当丰富的风险评估经验和专门知识; 进行风险分析的费用可能较大。适合大型软件开发Part3 可行性研究的目的: 用最小的代价在尽可能短的时间内确定问题是否能够并且值得解决。 可行性研究包括:经济可行性的研究:成本效益分析

5、,评估项目开发成本,估算开发成本是否 超过项目预期利润。技术可行性研究:根据客户提出的系统功能,性能及实现系统的各项约束条 件,从技术的角度研究实现系统的可行性。法律可行性研究:研究在系统开发过程中可能涉及的各种合同,侵权,责任 及各种与法律相抵触的问题。开发方案的选择性研究:提出并评价实现系统的各种开发方案,从中选出一 种。操作可行性的研究: 用户能否在特定的软件运行环境下使用这个Part4数据流图(简称DFD,是SA (Structured Analysis)方法中用于表示系统逻辑模型 的一种工具。以图形的方式描绘数据在系统中流动(数据流)和处理(数据转换)的过程。外部实体位于轶件m界之外

6、的信怠生产者或消贾占转换数撫流的处理过觀,乂称(bubble)在转換Z间布向流动的放据项或数据顶集合数据源为一个或多个转换捷供 m 或敷据稍谢务的级冲区、文件或ftsff画数据流图的步骤1: 首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系 统有哪些输入数据流、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数 据交换关系。下图为库房管理系统的顶层图。设计部门供应曲供应商础数据査询人员库房管 理系统生产部门介询人员生产部门领用单 、 材料入昨单材料iTti旳料出库单财务部门画数据流图的步骤2:对用户需求的文字描述进行语法分析

7、,确定主要功能,画出1层数据流图。 注意:其中的名词和名词短语构成潜在的外部实体、数据源或数据流,动词构成潜在的处理功能。一般将层号从 1 开始编号,采用自顶向下,由外向内的原则。画 1 层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系 统间的数据接口和活动关系。画数据流图的步骤 3: 采用通常的功能分解方法,按照“强内聚,松耦合”原则对功能进行精化,形 成下一层数据流图。不再分解的加工称为基本加工。数据字典定义:数据字典(Data Dictionary简称DD)就是用来定义数据流图中的 各个成分的具体含义的。数据字典有以下四类条目: 数据流、数据项(数据分量或数据元素)、数据存储、

8、基本加工(转换或处 理)。Part5需求分析的任务:1 、确定对系统的综合要求2 、分析系统的数据要求3 、导出系统的逻辑模型4 、修正系统开发计划需求分析的内容:问题分析, 需求描述,需求评审。初步需求获取技术:1. 访谈与会议2. 考察用户软件或其子系统业务流程3. 用户和开发人员共同组成联合小组需求分析方法:1、功能分析方法将系统看做若干功能模块的集合,每个功能又可以分解为若干子功能,子功 能还可继续分解,分解的结果已经是系统的雏形。2、结构化分析方法 以数据为基础,从问题空间到某种表示的映射方法,由数据流图表示。3、信息建模法 从数据的角度对现实世界建立模型。大型信息系统经常借助模型来

9、设计分析 系统。4、面向对象的分析方法其关键是识别问题域内的对象,分析它们之间的关系,并建立三类模型:对 象模型,动态模型和功能模型。Part6 实体关系图: 是描述系统所有数据对象的组成和属性,描述数据对象之间关系的图形语言。 实体关系图三种基本元素:数据对象;对象间的关系;属性。绘制实体-关系图步骤:1 、在需求收集的过程中,列出应用软件或业务过程涉及到的所有“事物”,将 其演化成数据对象;2 、一次考虑一个对象,定义这个对象和其他对象之间是否存在连接;3 、如果存在连接,应创建一个或多个关系;4 、对每一个关系,确定其关联类型;5 、重复步骤( 2 )到步骤( 4 ) ,直到定义了所有关

10、系;6 、定义每个实体的属性;7 、复审实体关系图;8 、重复步骤( 1 )到( 7 ) ,直到数据建模完成。Part7 软件设计的两个阶段: 第一阶段:概要设计(总体设计),是根据需求确定软件和数据的总体框架。 第二阶段:详细设计(过程设计),是将其进一步精化成软件的算法表示和数据结 构。抽象:认识复杂事物和现象时,抽出事物本质的共同特性而暂不考虑它们的细节。 抽象的步骤:(4)在最高抽象级别上,用面向问题域的语言叙述“问题”,概括“问题解啲 形式。(2) 不断地具体化,不断地用面向过程的语言描述问题。(3) 在最低的抽象级别上给出可直接实现的“问题解”,即程序。 信息隐藏: 模块应该设计得

11、使其所含信息(过程和数据)对于那些不需要这些信息的模块不可 访问。局部化:将一些关系密切的软件元素物理地放得彼此靠近。耦合性(coupling ):是对软件系统结构中,各模块间相互联系紧密程度的一种度 量。模块间耦合强度:低耦口性低耦合无直接耦合数据耦合特征耦合中耦合控制耦合较强耕合公共环境耦合强耦合内聚性(cohesion):指一个模块内部各个元素彼此结合的紧密程度的度量。内豪类型.咼高内聚功能内聚顺序内聚n中内聚通信内聚也过程内聚时间内聚ft低内聚逻辑内噩 偶然内聚h能分trPart8软件的深度(Depth):软件结构中模块的层数。宽度(Width):软件结构内同一层的模块总数的最大值。(

12、跨度) 模块的“扇出率”(Fanout):该模块直接控制的其他模块(直属下级)数。(控制在 7 以内)模块的“扇入率”(Fanin):能直接控制该模块的模块数。(有多少上级模块调用它)用SD方法将数据流图转换为软件结构的五个步骤:(4) 确定信息流的类型;(2) 划定流界;(3) 将数据流图映射为程序结构;(4) 提取层次控制结构;(5) 通过设计复审和启发式策略精化结构。信息流的类型:信息流分为变换流和事务流两种类型。变换分析的步骤:步骤一:复审基本系统模型。 步骤二:复审和精化软件数据流图。 步骤三:确定DFD为变换流还是事务流。 步骤四:划定输入流和输出流边界,孤立变换中心。 步骤五:执

13、行“一级分解”,导出具有三个层次的程序结构。步骤六:执行“二级分解”。步骤七:采用启发式设计策略,精化所得程序结构雏形,改良软件质量。 事务分析法的七个步骤:步骤一:复审基本系统模型; 步骤二:复审并精化软件数据流图; 步骤三:确定数据流图的特性;前三步与变换分析法相同 步骤四:找出数条动作路径的公共源头,即为事务中心,确定由事务中心发出的 每一动作路径的数据流特性。步骤五:把数据流图映射为事务处理型的程序结构。步骤六:分解并精化事务结构以及每条动作路径所对应的结构。 步骤七:使用启发式设计策略,精化所得程序结构雏形,改良软件质量。Part9过程设计的主要任务: 为每个模块确定采用的算法。确定

14、每一模块使用的数据结构。确定模块接口的细节。 为每一个模块设计出一组测试用例。结构(化)程序设计定义: 采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。用户界面应具备的特性:1.可使用性如:使用简单、界面中所用术语应该标准化,并保持一致性;拥有He Ip功 能;较快的系统响应速度和较低的系统开销;具有容错能力。2. 灵活性能满足不同用户的要求;可以制定和修改界面方式;能提供各类的系统响应 信息,如反馈、提示、帮助、报错等;与其他软件系统应有标准的界面。3. 复杂性 在完成预定功能的前提下,用户界面越简单越好。4. 可靠性 用户界面能保证用户正确、可靠地使用系统,保证有关程序和数据的安全

15、性 四代人机界面的风格:最早,是命令和询问方式。 第二代界面是简单的菜单式。第三代界面是面向窗口的点选界面。 第四代界面可同时执行多个任务。人机界面的设计过程可分为下面几个步骤:(4)创建系统功能的外部模型;(2) 确定为完成此系统功能人和计算机应分别完成的任务;(3) 考虑界面设计中的典型问题;(4) 借助CASE工具构造界面原型;(5) 真正实现设计模型;(6) 评估界面质量。人机界面设计问题: 系统响应时间 用户帮助信息 出错信息处理 命令交互Part11编码(Coding)的概念:把软件设计翻译成计算机可以理解的形式用某种程序设计语言书写的程序 影响编码质量的因素:包括编程语言、编程准则和编程风格。程序设计语言的分类: 第一代语言指机器语言和汇编语言。第二代语言包括 Fortran、Cobol、Algol 60 和 Bas

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号