《软件工程导论》课件_第1页
《软件工程导论》课件_第2页
《软件工程导论》课件_第3页
《软件工程导论》课件_第4页
《软件工程导论》课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论