软件工程导论知识点

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件生存期的阶段划分:(1)可行性研究与计划;(2)需求分析;(3)总体设计;(4)详细设计(5)实现(6)集成测试(7)确认测试(8)使用和维护软件=程序+文档+数据产生软件危机的原因:软件本身特点(客观):逻辑部件:管理和控制软件开发过程相当困难,较难维护;规模庞大:代码长度不正比程序复杂程度;软件开发与维护的方法不正确(主观):没有认识到软件的生命周期;软件开发不同阶段进行修改需要付出的代价差别很大;软件产品=程序+每个阶段的文档资料。消除软件危机的途径:对计算机软件有一个正确的认识(软件≠程序);技术措施:推广使用在实践中总结出来的开发软件的成功技术和方法;开发和使用更好的软件工具等;管理措施:必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。软件发展的4大趋势:流水线生产、网络化、服务化与全球化。软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。”软件工程具有下述的本质特性:1.软件工程关注于大型程序的构造2.软件工程的中心课题是控制复杂性3.软件经常变化4.开发软件的效率非常重要5.和谐地合作是开发软件的关键6.软件必须有效地支持它的用户7.在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人。软件工程的基本原理;1用分阶段的生命周期计划严格管理:2坚持进行阶段评审3实行严格的产品控制4采用现代程序设计技术5结果应能清楚地审查6开发小组的人员应少而精7承认不断改进软件工程实践的必要性软件工程三个要素:方法、工具、过程软件工程方法学,分别是传统方法学和面向对象方法学。传统方法学:把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务面向对象方法:是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法面向对象方法学具有下述4个要点:(1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。(2)把所有对象都划分成类(class)。(3)继承:按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。(4)对象彼此间仅能通过发送消息互相联系。软件定义:即问题定义、可行性研究和需求分析软件开发:总体设计、详细设计、编码和单元测试、综合测试。瀑布模型特点:是一个理想化过程。会掩饰项目中真正的风险,当你太晚发现它们时已无济于事;过程逆转性很差,因为上游的错误会在下游进行发散性传播。所以逆转会造成很大损失;缺乏灵活性;特别是无法解决软件需求不明确或不准确的问题后期错误,修正代价高;适用于:功能和性能明确、完整、无重大变化的软件开发,并且分析设计人员对应用领域很熟悉,项目风险低,用户很少参与开发工作的项目。原型模型的评价:可及早为用户提供有用的产品;可及早发现问题,随时纠正错误;减少技术、应用风险,缩短开发时间,减少费用;促使用户主动参与开发活动,促进各类人员的协调,减少误解,适应需求的变化,能有效提高系统质量。增量模型;遵循递增方式进行软件开发。开发一部分,向用户展示一部分;增量模型是一种非整体开发的模型;适用条件:1)使用面向对象语言或第四代语言;2)需求可能发生变化,客户接受分阶段交付;3)分析设计人员对应用领域不熟悉,难以一步到位;4)项目风险高;螺旋模型是一种风险驱动的模型,基本思想是:适用原型及其他方法来尽量降低风险。喷泉模型体现迭代和无间隙的特征;在分析、设计、实现等各项活动之间无明显边界可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发,最后给决策者提供做与不做的依据。可行性研究的实质:要进行一次大大压缩简化了的系统分析和设计的过程;在较高层次上以较抽象的方式进行的系统分析和设计的过程数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典组成:(1)数据流(2)数据流分量(即数据元素)(3)数据存储(4)处理数据元素组成数据的方式(关系算符):(1)顺序即以确定次序连接两个或多个分量;(2)选择即从两个或多个可能的元素中选取一个;(3)重复即把指定的分量重复零次或多次。(4)可选即一个分量是可有可无的(重复零次或一次)。符号含义举例及说明=被定义为;等价于+与;和X=a+b表示X由a和b组成。[…|…]或X=[a|b]表示X由a或b组成。{…}重复X={a}表示X由0个或多个a组成。m{…}n或{…}nm重复X=2{a}5或X{a}52表示X中最少出现2次a,最多出现5次a,5、2为重复次数的上下限。(…)可选X=(a)表示a可在X中出现,也可不出现。“…”基本数据元素X=“a”,表示X是取值为字符a的数据元素。••连接符X=1••9,表示X可取1到9中任意一个值。软件系统本质:信息处理系统;通常采用建立数据模型的方法。结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。需求分析是发现、求精、建模、规格说明和复审的过程。需求分析3种模型:数据模型;功能模型;行为模型。数据模型中包含3种相互关联的信息:数据对象、数据对象的属性、数据对象彼此间相互连接的关系。软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。规范化的目的是:消除数据冗余;消除多义性;使关系的“概念”单一化;方便操作;使关系模式更灵活。IPO图是输入、处理、输出图的简称。验证软件需求:一致性;完整性;现实性;有效性。一个有穷状态机可以表示为一个5元组(J,K,T,S,F)+1(P)其中:J是一个有穷的非空状态集;K是一个有穷的非空输入集;T是一个从(J-F)×K到J的转换函数;S∈J,是一个初始状态;FJ,是终态集;谓词集P.当前状态〔菜单〕+事件〔所选择的项〕+谓词下个状态Petri网包含4种元素:一组位置P、一组转换T、输入函数I,输出函数O。映射Z语言:给定的集合、数据类型及常数。状态定义。初始状态。操作。模块化就是将程序划分成若干个独立的模块,每个模块完成一个特定子功能,每个模块既是相对独立的,又是相互联系的,它们共同完成系统指定的各项功能。模块化的目的是为了降低软件的复杂性逐步求精是一种先总体、后局部的思维原则,也就是一种逐层分解、分而治之的方法。模块独立:模块本身的内聚和模块之间的耦合耦合强弱取决于模块间接口的复杂程度;最强的一类耦合称为内容耦合设计原则:尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。内聚标志一个模块内各个元素彼此结合的紧密程度内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的松耦合。功能内聚10分时间内聚3分顺序内聚9分逻辑内聚1分通信内聚7分偶然内聚0分过程内聚5分信息流两种类型:变换流;事务流结构程序设计3种基本控制结构:顺序,选择,循环。一张判定表由4部分组成,左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作。

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功