软件工程考试要点.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程考试要点

软件工程 第一章、 计算机系统中的程序及其文档称为软件。 程序是计算机任务的处理对象和处理规则的描述;文档是为了理解程序所需的阐述性资料 。 软件的个体、整体、学科含义。 工程是将科学理论和知识应用于实践的科学;软件工程是一类求解软件的工程。 正确性、可用性、合算性。 选择适宜的开发模型、采用合适的设计方法、提供高质量的工程支持、重视开发过程的管理。 软件工程活动主要包括需求、设计、实现、确认、支持。 第二章、 瀑布模型:支持结构化软件开发,控制软件开发的复杂性,促进软件开发工程化;缺点;缺乏灵活性,无法通过开发活动澄清本来不够确切的软件需求。 演化模型主要针对实现不能完整定义需求的软件开发;需求设计编码测试集成-开发;在一定程度上减少了软件开发活动的盲目性。 螺旋模型适合于大型软件的开发; 软件风险驾驭的目标是在造成危害之前,及时对风险进行识别分析采取对策; 制定计划:确定软件目标,选择实施方案,弄清项目开发的限制条件 风险分析:分析方案,考虑如何识别消除风险 实施工程:实施软件开发 客户评估:评价开发工作,提出修正建议。 喷泉模型体现了软件创建所固有的迭代和无间隙的特征; 分析、设计、实现、确认、维护、演化; 软件刻画活动需要多次反复;活动之间无明显间隙; 喷泉模型主要运用面向对象开发过程。 增量模型:增量比较容易理解和测试,广泛应用于计算机工业。 第三章 需求分析的基本任务是准确定义未来系统的目标,确定为满足用户的需要系统必须做什么。 需求获取的目的是清楚的理解所要解决的问题,完整的获取用户需求; 通过学习,请教领域专家,向用户提问; 了解所要解决的问题,理解用户的需要,确认用户,以及系统实现的限制。 需求获取应遵循的原则: 划分:捕获问题空间的整体/部分关系; 抽象:捕获问题空间的一般/特殊或特例关系; 投影:捕获问题空间得多维视图。 需求分析:需求获取和需求规约。 需求验证的十一个特征:正确性、无二义性、完整性、可验证性、一致性、可理解性、可修改性、可被跟踪性、可跟踪性、设计无关性、注释。 小说明:自然语言、结构化自然语言、判定表、判定树。 结构化方法基于模块化的思想,采用“自顶向下,逐步求精”的技术对系统进行划分。 分解和抽象——结构化方法(结构化分析、结构化设计、结构化编程的总称)的基本手段。 结构化分析的基本步骤:1。基于需求陈述,建立系统的数据流图;2。基于数据流图,建立数据字典;3。基于数据流图,对最低层的加工给出其控制结构描述;4。依据需求陈述,建立人机接口和其他性能描述;5。通过分析验证,建立系统完整的需求规约。 第四章 结构化设计又进一步分为总体设计和详细设计。 总体设计,把系统的功能需求分配给软件结构,形成软件模块结构图。 详细设计的根本目标是确定怎样具体的实现所要求的系统。 与总体设计相比,详细设计对数据结构要有更具体详细的描述;要提供关于算法的更多的细节,为每个模块增加足够的细节。 三种表示软件结构的主要工具:层次图、HIPO、结构图。 如何绘制DFD,如何完成DFD-〉MSD;如何完成程序流程图-〉PAD, 程序流程图-N-S。 变换设计/事务设计的步骤:复查基本系统模型-复查并净化数据流图-[确定输入、变换、输出这三部分之间的边界/确实事务处理中心]-第一级分解(系统模块结构图顶层和第一层的设计)-第二级分解(自顶向下,逐步求精)-使用设计度量和启发式规则对初始的模块结构图进行精化。 评价软件设计的设计准则:高内聚、低耦合。 耦合:是对不同模块之间相互依赖程度的度量;内容耦合、公共耦合、控制耦合、标记耦合、数据耦合。 内聚:度量一个模块内部各成分之间相互关联的强度;偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。 启发式规则:1、改进软件结构提高模块独立性;2、模块规模应该适中;3、深度、宽度、扇出、扇入应适中;4、模块的作用域应该在控制域之内;5、力争降低模块接口的复杂性;6、模块功能应该可以预测;——不是设计的目标,也非普遍原理,只是经验总结。 模块独立性:通过模块分解或合并,力求降低耦合提高内聚。 深度:软件结构中控制的层数,往往能粗略的标志一个系统的大小和复杂程度; 宽度:软件结构中同一个层次上的模块总数的最大值,越大系统越复杂;扇出对宽度影响最大 扇出:一个模块直接控制(调用)的下级模块数目,好的系统平均为3或4; 扇入:有多少个上级模块直接调用之,一般越大越有好处。 第五章、 面向对象的观点,认为计算机软件的结构应该与所要解决的问题结构一致,而不应与某种分析方法保持一致。对任何软件系统而言,最稳定的成分也许就是那些问题域中的成分。面向对象方法把客观世界中的对象作为软件系统中的基本成分,并认为客观世界是由对象组成的,对象有其自己的属性和活动规律;对象之间的相互

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档