还剩58页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
软件工程导论课程概述1课程目标2学习内容考核方式掌握软件工程基本概念和方法软件生命周期各阶段的理论与实践第一章软件工程概述软件的定义软件的特点软件工程的由来计算机程序及其相关文档无形性、易变性、复杂性应对软件危机,提高开发效率和质量软件危机原因分析1缺乏工程化管理方法表现2成本超支、进度延迟、质量低下定义3软件开发中出现的一系列问题软件工程的定义IEEE定义软件工程的目标应用系统化、规范化、可量化按时、按预算、高质量地开发的方法开发软件软件软件工程的重要性提高软件质量,降低维护成本软件工程的三要素过程方法工具软件开发活动的组织如何进行软件开发的支持方法应用的自动方式技术方法化或半自动化工具软件生命周期定义1软件从概念到淘汰的全过程主要阶段2需求分析、设计、编码、测试、维护重要性3为软件开发提供框架和规范软件开发模型(上)瀑布模型增量模型演化模型线性顺序,阶段分明分批次交付功能逐步完善的原型软件开发模型(下)螺旋模型统一过程模型敏捷开发模型风险驱动,迭代开发用例驱动,架构为中心快速迭代,拥抱变化第二章可行性研究定义与目的评估项目实施价值与可能性可行性研究的内容技术、经济、操作可行性分析可行性研究报告记录分析结果和建议成本效益分析/成本收益通过分析投资回报率决定项目可行性第三章需求分析需求工程概述获取、分析、规格化用户需求需求获取方法访谈、问卷、观察、原型需求分析的重要性奠定软件开发基础功能需求与非功能需求功能需求非功能需求•系统应执行的功能•性能、安全性•用户可操作的内容•可靠性、易用性•例学生注册功能•例系统响应时间需求建模技术(上)DFD展示数据流向,ERD表示数据关系,STD描述状态变化需求建模技术(下)用例图表示功能需求,活动图显示流程,序列图描述交互需求规格说明书评审方法1同行评审、检查表、原型验证编写原则2完整、一致、无歧义、可验证结构3引言、功能描述、接口、性能要求第四章系统设计系统设计的原则2模块化、高内聚、低耦合系统设计的目标1满足需求的高质量架构系统设计的步骤3架构设计、接口设计、数据设计软件体系结构客户端-服务器分层架构微服务分离用户界面与数据处理按功能划分层次小型独立服务集合模块化设计1模块的定义2模块化的优点独立的功能单元提高可维护性、复用性、可理解性3模块化设计原则高内聚、低耦合、信息隐藏接口设计接口的类型接口设计原则•用户接口•简单明确•软件接口•一致性•硬件接口•低耦合数据设计数据结构选择影响算法效率,数据库设计关注实体关系,文件组织考虑存取效率第五章详细设计详细设计的目标详细设计的内容将系统设计转换为可实现的规算法设计、数据结构细化、接格说明口定义详细设计工具UML类图、伪代码、流程图结构化程序设计顺序结构选择结构循环结构按顺序执行语句条件判断,分支执行重复执行特定代码块面向对象详细设计类的设计关注封装性,方法设计强调单一职责,设计模式提供解决方案用户界面设计12简单性一致性界面直观易懂操作方式统一34反馈容错提供操作结果防止用户误操作第六章编码与单元测试编码规范1统一的编程风格和标准代码复查2发现和纠正编码错误单元测试概念3验证最小可测试单元编程风格命名规范注释规范排版规范•变量名有意义•解释为什么•缩进一致•类名用名词•复杂算法说明•空行分隔•方法名用动词•接口文档•括号对齐代码质量度量圈复杂度代码行数代码重复率注释率测试覆盖率代码质量度量指标帮助评估软件复杂性和可维护性单元测试技术白盒测试检查内部逻辑和代码路径黑盒测试单元测试工具验证功能而不关注内部结构JUnit,NUnit等自动化测试框架第七章集成测试集成测试的目的验证模块间接口和交互集成策略自顶向下、自底向上、混合策略集成测试计划确定测试顺序、资源和进度系统测试功能测试性能测试安全测试验证系统功能符合需评估系统响应时间和检查系统抵御攻击能求资源使用力可用性测试评估用户界面友好程度验收测试测试测试αβ开发环境中由用户进行测试用户环境中进行的有限发布测试验收标准用户满意度和需求符合度测试文档测试计划定义策略,测试用例描述操作步骤,测试报告总结结果第八章软件维护纠错性维护适应性维护1修复发现的错误适应环境变化2预防性维护完善性维护43提高可维护性增强功能和性能软件再工程再工程的概念1重新构造现有系统再工程的过程2逆向工程、结构改进、正向工程再工程的工具和方法3代码分析、重构技术软件演化代码量功能点软件随时间增长和变复杂,需要有效管理演化过程第九章项目管理基础范围管理时间管理成本管理质量管理确定项目边界制定项目进度控制项目预算确保项目成果项目范围管理范围定义工作分解结构范围控制明确项目包含和不包含内容将项目分解为可管理工作包管理范围变更,防止范围蔓延项目进度管理甘特图显示任务时间表,PERT图展示任务依赖关系,关键路径决定项目最短完成时间项目成本管理计划成本实际成本成本估算和控制确保项目在预算范围内完成项目质量管理质量保证2系统评估项目活动质量计划1确定适用标准质量控制监控特定结果3项目人力资源管理团队组建团队发展冲突管理选择合适人员,分配角色提高团队技能和协作解决团队成员间分歧项目沟通管理沟通计划信息分发绩效报告确定信息需求和传递方式及时向相关方提供信息收集和分发绩效信息项目风险管理风险应对1制定应对策略风险分析2评估影响和概率风险识别3找出潜在风险第十章软件配置管理1配置管理的定义2配置项控制软件产品变更的学科受控管理的软件工作产品3版本控制管理软件项目的多个版本变更控制变更请求1记录变更需求变更评估2分析变更影响变更实施3执行和验证变更配置审计功能配置审计物理配置审计配置状态报告验证产品符合规格要求验证产品符合技术文档记录配置项目当前状态第十一章软件质量保证质量度量1可靠性、可维护性指标质量保证活动2评审、检查、测试软件质量的定义3符合需求和标准程度软件复查非正式复查走查同事间非正式讨论作者主导的团队检查技术复查正式的多人评审会议软件审计过程审计产品审计•检查过程符合性•检查产品质量•验证标准执行•验证功能完整性•评估过程效率•测试产品性能第十二章软件过程改进软件过程的定义开发活动框架和方法过程改进的必要性提高生产率和质量过程改进模型CMMI、六西格玛、精益方法能力成熟度模型集成()CMMI5级优化级1持续过程改进4级定量管理级2定量过程控制3级已定义级3标准化过程2级管理级4基本项目管理1级初始级5过程不可预测第十三章软件工程新趋势云计算提供弹性资源,大数据处理海量信息,人工智能实现智能决策DevOps开发计划编码和构建21需求分析和规划测试自动化测试35监控部署运行状态监控4自动化部署微服务架构小型独立服务容器化部署接口通信单一职责原则Docker、Kubernetes服务间通过API交互弹性伸缩按需扩展特定服务敏捷开发方法Scrum XP看板方法基于迭代的Sprint开发强调编程实践与团队协作可视化工作流程管理软件安全工程安全需求分析安全测试识别威胁和安全目标渗透测试、漏洞扫描123安全设计原则最小权限、防御深度绿色软件工程绿色软件的概念能耗优化可持续发展减少资源消耗的可持续软件降低计算资源和电力消耗环保设计和长期使用价值课程总结主要知识点回顾软件生命周期各阶段的工程方法软件工程的重要性保障软件质量,提高开发效率未来发展方向智能化、自动化、全球化工程实践参考文献与推荐阅读推荐阅读经典教材和研究论文,了解软件工程最新发展趋势。
个人认证
优秀文档
获得点赞 0