现代软件工程课程概述共40页文档
- 格式:ppt
- 大小:472.00 KB
- 文档页数:40
《软件工程》课程教学大纲一、课程代码与名称(小四号宋体加粗)课程代码: CS132201中文名称: 软件工程英文名称: Software Engineering二、课程概述及与相关课程关系软件工程是计算机科学与技术专业的专业必修课, 是指导学生按照工程化、标准化和规范化的方法开发软件系统的一门课程。
通过本课程学习, 学生能够掌握现代软件设计与开发的基本原理、方法和技术;熟悉结构化和面向对象软件设计与开发的全过程;了解软件项目管理、软件维护等方面知识。
软件工程与前后课程间关联关系、课程群对应的局部鱼骨图分别如下所示:图例:应用方向软件工程课程群及对应课程群项目、学年项目(局部)图图例:三、课程教学对象与教学目的适用专业: 计算机科学与技术教学目的:通过理论教学和实践相结合, 使学生初步具备运用软件工程的概念、原理、技术和方法开发与维护软件的能力, 并提高学生编写相关技术文档的能力, 及分析问题和解决问题的能力和团队工作交流能力。
*注: 该表所列指标可对照培养方案中所列指标来解释。
A: 认知, 指从教、学活动中、从生活经验和社会经验等多种信息渠道获得知识, 侧重知识的获取, 没有实训要求。
B: 训练, 指教、学活动中由教师引导开展的基础测试或练习, 匹配有课程讨论、课后研讨等环节。
C: 实践, 指以学生为主导, 通过实练而形成的对完成某种任务所必须的活动方式, 匹配有课程的三级项目或其它实践环节。
D: 探索, 指学生独立探寻问题、摸索、解答的活动, 不设置专门的考核。
(留空表示无该项要求)四、课程内容、学时分配及主要的教学方法本课程对主要软件开发方法采用项目驱动教学模式, 结合实验和项目开发实践, 使课程的实践与理论教学内容紧密配合, 同步进行, 达到理论指导实践, 实践促进理论学习目的。
通过理论教学、实践(实验)、团队项目开发实践3环节将理论与实践紧密联系。
教学中采用问题引导方式推进学生基于问题的学习(problem based learning), 以为学生为中心鼓励学生参与课程讨论, 促进学生采用主动学习方法(active learning)。
软件开发软件开发综述用UML建模需求提出需求分析系统设计对象设计软件开发综述结构化的分析与设计面向对象的分析与设计什么是分析与设计分析(analysis):要创建一个系统,需要对问题和需求进行描述。
问题是什么以及系统必须做什么,它强调对问题的调查。
例如,如果要开发一个新的图书馆信息管理系统,这个系统的业务过程是什么?这是一个分析问题设计(design):对系统如何满足需求和约束进行高层描述和具体说明,它强调问题的逻辑解决方案。
例如,图书馆信息系统能够多大程度地精确地捕获和记录书的借出情况?这是一个设计问题。
设计最终可以用硬件和软件来实现分析与设计的两种模式结构化的分析与设计结构化分析(structured analysis and design)对问题的分解尺度主要是依据功能或过程。
面向对象的分析与设计结构化分析方法(简称SA需求分析的方法。
结构化设计方法(简称SD方法)就是将需求分析转化为层次功能模型的方法。
设计通常分概要设计和详细设计两步进行,概要设计将软件系统分解成许多个模块,并决定每个模块的外部特征,即功能(做什么)和界面(输入和输出);详细设计确定每个模块的内部特征,即每个模块内部的执行过程(怎样做),通过这样的设计过程,就为编程制订了一个周密的计划,下面就可直接过渡到编程阶段了。
本章主要内容模型图需求分析概要设计详细设计第一节模型图结构化分析使用的模型图有:业务流程图数据流图功能结构图(或功能树)网络结构图程序流程图业务流程图⏹业务流程图是反映用户业务过程的图。
⏹业务流程图包括:任务名称、执行者、任务步骤、流转的信息等业务流程图例业务流程例图数据流图数据流图反映信息的来源、加工、存放和输出。
数据流图例数据流例图功能结构图IDEF方法族介绍:IDEF的含义是集成计算机辅助制造(Integrated Computer-AidedManufacturing,ICAM)DEFinition。
现代软件工程课程是一门介绍软件开发过程的课程,它涵盖了从需求分析到软件维护的整个生命周期。
这门课程通常包括以下内容:
1. 软件开发过程:这门课程将介绍软件开发的各个阶段,包括需求分析、设计、编码、测试和维护。
学生将学习如何将这些阶段有效地组织和管理,以开发出高质量的软件。
2. 软件设计:这门课程将介绍软件设计的基本原则和方法,包括面向对象设计、模块化设计、数据结构和算法等。
学生将学习如何使用这些技术来创建可扩展、可维护和高效的软件系统。
3. 软件测试:这门课程将介绍软件测试的基本概念和技术,包括单元测试、集成测试、系统测试和验收测试。
学生将学习如何设计和执行有效的测试策略,以确保软件的质量。
4. 软件项目管理:这门课程将介绍软件项目管理的基本概念和技术,包括项目规划、风险管理、质量管理和团队管理等。
学生将学习如何有效地管理软件开发项目,以确保项目的顺利进行和成功完成。
5. 软件质量保证:这门课程将介绍软件质量保证的基本概念和技术,包括质量标准、质量度量和质量改进等。
学生将学习如何实施有效的质量保证策略,以提高软件的质量和用户满意度。
6. 软件工程工具:这门课程将介绍一些常用的软件工程工具,如版本控制系统、自动化构建工具、持续集成工具和缺陷跟踪系统等。
学生将学习如何使用这些工具来提高软件开发的效率和质量。
现代软件工程(第一讲) 现代软件工程概述现代软件工程(第一讲) 现代软件工程概述1.引言现代社会对软件的需求日益增长,软件已经成为人们生活中不可或缺的一部分。
而软件工程作为一门学科,也应运而生。
本文旨在对现代软件工程进行概述,介绍软件工程的基本概念、发展历程以及其在现代社会中的重要性。
2.软件工程的定义软件工程是一门使用系统化、规范化、可量化过程进行软件开发、维护和管理的学科。
其目标是在预算和时间的限制下开发高质量的软件。
3.软件工程的发展历程软件工程起源于20世纪60年代,当时面对软件规模的扩大和复杂性的提高,人们意识到需要一种新的方式来管理软件开发过程。
随着时间的推移,软件工程逐渐发展壮大,并衍生出多个学派和方法。
3.1 结构化设计在70年代,软件工程界兴起了一股结构化设计的浪潮。
结构化设计强调将软件分解为独立的模块,并使用模块化设计、自顶向下的设计和结构化程序设计等技术来提高软件的可读性和可维护性。
3.2 面向对象方法80年代,面向对象方法成为软件工程界的主流。
面向对象方法将软件系统看作是一组相互作用的对象,通过封装、继承和多态等概念,实现了软件系统的模块化、可重用性和可扩展性。
3.3 敏捷开发21世纪初,敏捷开发成为软件工程领域的一个重要流派。
敏捷开发强调迭代开发、持续集成和快速响应客户需求的原则,使得软件开发过程更加灵活、高效。
4.现代软件工程的重要性现代软件工程的重要性体现在以下几个方面:4.1 提高软件质量软件工程通过采用系统化的开发过程和规范化的质量管理方法,可以提高软件的质量。
通过对需求分析、设计、编码、等各个阶段的严格控制,可以减少软件中的缺陷。
4.2 提升软件开发效率软件工程通过引入标准化的开发流程、自动化的工具和复用的设计模式,可以提升软件开发的效率。
这使得开发团队可以更好地协作,减少重复劳动,快速迭代开发。
4.3 管理软件项目软件工程强调项目管理的重要性,通过制定详细的计划、合理分配资源和监控项目进度,可以有效管理软件项目。