- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
自考软件工程课程重点复习资料
各位自考路上的同仁,软件工程作为一门实践性与理论性结合紧密的学科,其知识点繁多且体系化。这份复习资料旨在浓缩课程核心要点与复习策略,助力大家高效复习,顺利通过考试。请务必结合教材例题、历年真题及个人理解进行消化吸收。
一、软件工程基础理论与概念
(一)软件与软件工程的定义及特点
软件是计算机系统中与硬件相互依存的另一部分,它包括程序、数据及其相关文档的完整集合。其主要特点有:抽象性、可复制性、无磨损性、生产主要是脑力劳动、成本高、维护困难等。
软件工程则是以系统化、规范化、数量化等工程原则和方法来管理和维护软件的开发、运行和维护全过程,以期达到提高软件质量、降低成本的目标。其核心思想是将工程化的方法应用于软件开发。
(二)软件生命周期
软件生命周期是指软件从构思、立项、开发、使用、维护直至最终被废弃的整个过程。通常将其划分为若干阶段,每个阶段有明确的任务和产出物。
*瀑布模型:经典的线性模型,将软件生命周期划分为可行性研究、需求分析、概要设计、详细设计、编码、测试和维护等阶段。上一阶段的输出是下一阶段的输入,强调阶段的划分和文档的完备性。其优点是简单清晰、易于管理;缺点是缺乏灵活性,难以应对需求变化,后期修改成本高。
*其他常见生命周期模型:如原型模型(适用于需求不明确时,快速构建原型获取反馈)、迭代模型(将软件开发过程组织为一系列迭代,每次迭代都包含完整的开发流程)、螺旋模型(引入风险分析,适用于大型复杂项目)、敏捷开发模型(强调快速响应变化、客户协作和持续交付,如Scrum、XP)等。需理解各模型的核心思想、适用场景及优缺点。
(三)软件工程的目标与原则
软件工程的目标是在给定成本、进度的前提下,开发出具有正确性、可用性、可靠性、效率、可维护性和可重用性等特性的软件产品。
软件工程的基本原则包括:抽象、信息隐蔽、模块化、局部化、一致性、完全性、可验证性等。这些原则贯穿于软件开发的各个阶段,指导着软件工程师的实践。
二、结构化软件开发方法
(一)需求分析
需求分析是软件开发的起点,其任务是准确理解用户需求,明确系统要“做什么”,并将其转化为规范的需求规格说明。
*需求的分类:功能需求(系统必须完成的动作)、非功能需求(如性能、可靠性、安全性、易用性、可维护性等)、约束条件。
*需求分析的方法:主要有结构化分析方法(SA),其核心是自顶向下、逐层分解。常用工具包括数据流图(DFD)、数据字典(DD)、判定表、判定树、结构化语言等。
*需求规格说明书(SRS):是需求分析阶段的主要输出,应完整、一致、准确地描述用户需求,是后续设计、开发和测试的依据。
(二)概要设计(总体设计)
概要设计的主要任务是将需求分析得到的系统需求转换为软件系统的总体结构和模块划分。
*任务:系统总体结构设计(将系统划分为若干子系统或模块)、模块设计(定义模块功能、接口、模块间的调用关系)、数据结构及数据库设计、接口设计等。
*设计原理:模块化(将系统分解为独立命名且可独立访问的模块)、抽象、信息隐蔽(模块内部实现细节对外隐藏)、模块独立性(高内聚、低耦合)。内聚是模块内部各元素结合的紧密程度,耦合是模块间相互依赖的程度。
*概要设计说明书:阐述系统的总体结构、模块划分、模块功能和接口、数据设计等。
(三)详细设计
详细设计是对概要设计中定义的模块进行细化,给出模块内部的详细实现方案,即“怎么做”。
*任务:为每个模块设计具体的算法和数据结构,确定模块内部的控制流程。
*表达工具:程序流程图(PFD)、N-S图(盒图)、PAD图(问题分析图)、伪代码(PDL)、判定表、判定树等。需掌握这些工具的基本符号和使用方法。
(四)编码与软件测试
编码是将详细设计的结果转换为计算机可执行的程序代码。应遵循良好的编码规范,注重可读性、可维护性。
软件测试是保证软件质量的关键环节,其目的是发现软件中的错误。
*测试原则:测试应尽早并持续进行;测试用例应由输入数据和预期输出结果两部分组成;程序员应避免测试自己的程序;设计测试用例时应包括合理的输入条件和不合理的输入条件;充分注意测试中的群集现象;严格执行测试计划,排除测试的随意性;应当对每一个测试结果做全面检查;妥善保存测试计划、测试用例、出错统计和最终分析报告。
*测试步骤:单元测试(模块测试)-集成测试(组装测试,可采用非增量式或增量式,增量式又分自顶向下、自底向上、混合策略)-确认测试(验证软件是否满足需求规格说明书)-系统测试(将软件与硬件、外设等集成起来进行测试)-验收测试(用户参与,验证软件是否满足实际需求)。
*测试方法:
*白盒测试(结构测试):基于程序内部逻辑结构进行测试,常用逻辑覆
您可能关注的文档
最近下载
- 多肽的合成和生产指南(EMA)draft-guideline-development-and-manufacture-synthetic-peptides_en.pdf VIP
- 原材料安全库存管理策略.docx VIP
- 剑桥商务英语(初级)第三版.ppt
- 学校后勤部仓库管理年终总结.pptx VIP
- 市政和交通基础设施专项规划审批办事指南.doc VIP
- ABS材质证明书模版.docx VIP
- 中国传媒大学《视听语言(第3版)》课件-第一章 影像 PPT-第二节 景别角度.pptx VIP
- 学校后勤部仓库管理年终总结.pptx VIP
- 政府采购代理机构内部监督管理制度.docx VIP
- 特殊教育康复师岗位招聘考试试卷及答案.doc VIP
原创力文档


文档评论(0)