电大软件工程应用题电子教案
- 格式:docx
- 大小:317.54 KB
- 文档页数:4
《软件工程》教案刘鹏《软件工程》教学案一、课程的性质与任务软件工程课程是中央广播电视大学计算机科学与技术专业的统设必修课,4学分,72学时,其中讲课46学时,实验26学时,开设一学期。
软件工程课程主要研究如何将工程化方法应用于软件的开发、运行和维护过程之中。
根据培养计算机应用型人才的需要,本课程的任务是通过讲述软件的工程化开发方法和相关的开发工具、开发过程、开发规范,使学生了解软件工程的本质,掌握常用的开发方法,并且能够自觉地将软件工程原理灵活地运用于实际的软件开发和维护过程中,提高学生的专业素质。
二、与本课相关课程先修课程:计算机基础、数据库原理、程序设计语言。
后续课程:毕业设计。
三、课程的学习要求1.掌握软件的特点和软件工程的概念。
2.掌握结构化分析和设计方法。
3.掌握基于UML的面向对象分析和设计方法。
4.理解软件测试的基本概念和测试策略。
6.理解可行性分析方法和软件维护的基本方法。
7.了解良好的软件编程风格和编程规范。
8.了解软件项目管理、软件配置管理的概念和方法。
四、课程教学要求的层次本课程的教学要求分为掌握、理解和了解三个层次。
掌握是在理解的基础上加以灵活应用;理解是能正确表达有关概念和方法的含义,并且能够进行简单分析和判断;了解即能正确判别有关概念和方法。
在期末考核试卷中(涵盖实验内容),掌握的内容约占总分数的60%,理解的内容约占30%,了解的内容约占10%。
五、教学环节1.自学自学是学生重要的学习手段,要求以文字教材为主,辅以录像教材、CAI课件、网上教学资源进行学习。
录像教材和CAI课件强化课程的重点、难点内容,实验的演示与交互,案例分析等,可加深学生对课程内容的理解,提高程序分析和设计能力。
网上教学资源与教学进度同步,侧重于对学生教学过程的辅导,也是师生、生生沟通的平台,解决学生在学习过程中遇到的问题。
自学可以采取个人和小组学习等方式,学生应注意自学能力的培养,保证必要的自学时间。
《软件工程电子教案》PPT课件第一章:软件工程概述1.1 软件工程的定义解释软件工程的含义和目的强调软件工程的重要性1.2 软件开发生命周期介绍软件开发生命周期的基本阶段讨论每个阶段的关键活动和任务1.3 软件工程原则介绍软件工程的基本原则解释每个原则的重要性和应用第二章:需求分析2.1 需求分析的重要性强调需求分析在软件工程中的作用解释需求分析的目标和结果2.2 需求收集和分析方法介绍需求收集和分析的主要方法讨论每种方法的优缺点和适用场景2.3 需求规格说明书解释需求规格说明书的结构和内容强调需求规格说明书的重要性和维护第三章:软件设计和架构3.1 软件设计的重要性强调软件设计在软件工程中的作用解释设计的目标和结果3.2 软件架构设计介绍软件架构设计的基本概念和方法讨论架构设计的重要性和评估3.3 详细设计解释详细设计的过程和工具强调详细设计的重要性和与实现的关联第四章:软件实现和编码4.1 编码的重要性强调编码在软件工程中的作用解释编码的目标和结果4.2 编程语言和工具介绍常用的编程语言和开发工具讨论每种语言和工具的适用场景和特点4.3 编码规范和最佳实践解释编码规范和最佳实践的作用强调遵循规范和最佳实践的重要性第五章:软件测试和验证5.1 软件测试的重要性强调软件测试在软件工程中的作用解释测试的目标和结果5.2 测试方法和策略介绍常用的软件测试方法和策略讨论每种方法和策略的适用场景和优缺点5.3 测试用例和测试覆盖率解释测试用例的设计和编写强调测试覆盖率的重要性和评估方法第六章:软件维护和演化6.1 软件维护的概念解释软件维护的定义和目的强调软件维护的重要性6.2 维护活动和维护过程介绍软件维护的主要活动和过程讨论每个活动的关键任务和挑战6.3 软件演化模型介绍软件演化的一些常见模型讨论每种模型的适用场景和特点第七章:软件项目管理7.1 软件项目管理的重要性强调软件项目管理在软件工程中的作用解释项目管理的目标和结果7.2 项目管理工具和技术介绍常用的软件项目管理工具和技术讨论每种工具和技术的适用场景和优缺点7.3 项目计划和进度控制解释项目计划的概念和过程强调进度控制的重要性和方法第八章:软件质量保证8.1 软件质量的概念解释软件质量的定义和重要性强调软件质量保证的作用8.2 质量标准和质量模型介绍常用的软件质量标准和模型讨论每种标准和模型的适用场景和特点8.3 质量保证过程和活动解释质量保证的过程和主要活动强调质量保证的重要性和实施方法第九章:软件工程伦理和法律问题9.1 软件工程伦理问题讨论软件工程中的伦理问题,如知识产权、隐私等强调软件工程师的伦理责任和行为准则9.2 软件工程法律问题介绍软件工程中涉及的法律问题,如版权、合同等讨论法律问题对软件工程的影响和应对策略9.3 合规性和标准化解释软件工程的合规性和标准化的概念强调合规性和标准化的作用和实施方法第十章:软件工程前沿技术10.1 软件工程新技术介绍软件工程中的一些前沿技术,如、云计算等讨论每种技术的应用场景和前景10.2 技术趋势和挑战讨论软件工程中的技术趋势和面临的挑战强调应对技术趋势和挑战的方法和策略10.3 未来软件工程的发展展望未来软件工程的发展方向和趋势强调软件工程师在未来的角色和责任重点和难点解析重点环节一:软件工程的定义和目的重点关注软件工程的定义和目的,理解软件工程的核心目标和原则。
《软件工程电子教案》PPT课件第一章:软件工程概述1.1 软件与软件工程的概念解释软件的定义和特点介绍软件工程的目标和方法1.2 软件生命周期描述软件从需求分析到维护的各个阶段解释软件生命周期的主要活动和任务1.3 软件工程原则介绍软件工程的基本原则,如模块化、抽象化、逐步求精等解释这些原则的重要性及其在软件开发中的应用第二章:需求分析2.1 需求分析概述解释需求分析的目的和重要性介绍需求分析的主要任务和方法2.2 需求收集与分析介绍需求收集和分析的技术和工具解释如何确定用户需求和系统功能2.3 需求规格说明书解释需求规格说明书的编写和作用提供一个需求规格说明书的基本结构示例第三章:软件设计3.1 软件设计概述解释软件设计的概念和目的介绍软件设计的主要任务和方法3.2 总体设计解释总体设计的重要性和主要任务介绍总体设计的常用技术和工具3.3 详细设计解释详细设计的重要性和主要任务介绍详细设计的常用技术和工具第四章:编程与编码4.1 编程语言选择解释编程语言选择的重要性和考虑因素介绍常用的编程语言及其特点4.2 编码规范与技巧解释编码规范的意义和作用介绍编码规范的基本要求和常用技巧4.3 代码审查与优化解释代码审查的目的和重要性介绍代码审查的方法和技巧第五章:软件测试与维护5.1 软件测试概述解释软件测试的目的和重要性介绍软件测试的主要任务和方法5.2 测试用例设计与执行解释测试用例的设计原则和方法介绍测试用例的执行和缺陷跟踪5.3 软件维护解释软件维护的定义和重要性介绍软件维护的主要任务和方法《软件工程电子教案》PPT课件第六章:项目管理6.1 项目管理概述解释项目管理的概念和重要性介绍项目管理的主要任务和方法6.2 项目计划与组织解释项目计划的目的和内容介绍项目组织和团队建设的方法6.3 项目进度控制与风险管理解释项目进度控制的方法和工具介绍项目风险识别、评估和应对策略第七章:软件质量保证7.1 软件质量概述解释软件质量的概念和重要性介绍软件质量保证的目标和方法7.2 软件质量标准和评估解释软件质量标准的概念和分类介绍软件质量评估的方法和工具7.3 软件质量保证活动解释软件质量保证活动的内容和类型介绍软件质量保证计划在项目中的实施方法第八章:软件开发工具与环境8.1 软件开发工具概述解释软件开发工具的概念和作用介绍常用的软件开发工具类别和特点8.2 集成开发环境(IDE)解释IDE的概念和功能介绍主流IDE工具的使用方法和特点8.3 软件configuration management解释软件配置管理的重要性介绍软件配置管理工具和最佳实践第九章:面向对象方法9.1 面向对象概述解释面向对象的原理和特点介绍面向对象方法的主要概念,如类、对象、继承等9.2 面向对象分析解释面向对象分析的目标和方法介绍UML(统一建模语言)在面向对象分析中的应用9.3 面向对象设计解释面向对象设计的任务和原则介绍设计模式的概念和常用设计模式第十章:软件工程案例分析10.1 案例分析概述解释软件工程案例分析的目的和方法介绍案例分析的步骤和技巧10.2 案例分析实例提供一个或多个软件工程案例分析的具体实例分析案例中的成功经验和问题所在解释案例分析报告的结构和内容重点和难点解析重点环节1:软件生命周期软件生命周期是软件工程的基础,包括软件开发的各个阶段,如需求分析、设计、编码、测试和维护等。
江苏广播电视大学开放教育本科《软件工程》课程教学大纲第一部分大纲说明一、课程性质、目的与任务《软件工程》是江苏电大计算机应用专业教学计划中一门综合性和实践性很强的选修课程,主要内容包括软件工程概述、系统分析、软件需求分析、软件设计、Jackson系统开发方法、用户界面设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理等。
根据培养基本应用型人才的需要,本课程的目的与任务是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。
二、先修课程知识要求计算机的基础知识、程序设计的知识、面向对象程序设计知识三、课程的教学要求基本概念和基本知识:软件与软件工程,硬件系统分析和软件系统分析,生存周期与软件开发模式,结构化分析、需求分析,面向对象分析、设计与编码,软件的评审、测试与维护,项目计划与项目管理。
基本技能:能应用软件工程的基本方法参与软件项目的分析、设计、实现和维护且在实践中灵活运用重点:系统分析、系统设计、系统实现、系统维护难点:系统分析、需求分析、软件设计、软件测试六、考核本课程采取大作业与集中笔试考核相结合的方式,大作业占总成绩的20%,由各教学点和市校自行组织考核,江苏电大进行抽查,不做大作业者不能参加笔试;笔试由江苏电大根据教学大纲统一命题,占总成绩的80%。
第二部分教学内容和教学要求1 软件工程概述教学内容1.1 软件的概念、特点和分类(软件的概念和特点、软件的分类)1.2 软件的发展和软件危机(人们对软件的新的认识、软件的需求是软件发展的动力、软件工作范围的扩展)1.3 软件工程过程和软件生存期(软件工程过程、软件生存期)1.4 软件生存期模型(瀑布模型、演化模型、螺旋模型、喷泉模型、智能模型)1.5软件工程的基本目标(软件工程的定义、软件工程项目的基本目标)教学要求掌握:软件和软件工程的基本概念了解:软件生命周期及软件开发的各个模型2 系统分析教学内容2.1 基于计算机的系统2.2 计算机系统工程(硬件和硬件工程、软件和软件工程、人与人类工程、数据库和数据库工程)2.3 系统需求识别(系统分析的目标、系统分析过程)2.4 可行性研究2.5成本—效益分析(几种度量效益的方法、成本—效益的分析)2.6技术分析2.7分配与权衡2.8系统结构的模型化(结构图、系统结构的规格说明定义)2.9系统定义与评审(系统规格说明、系统定义的评审)教学要求理解:系统分析的含义了解:系统分析过程中的分析方法3 软件需求分析教学内容3.1 软件需求分析的任务3.2 需求分析的过程3.3 软件需求分析的原则3.4分析员和用户的责任3.5软件需求分析方法3.6原型化方法(软件原型化方法概述、快速原型开发模型(原型生存期)、软件开发过程、软件复用)3.7结构化分析方法(数据流图、数据词典、加工逻辑说明)3.8系统动态分析(状态迁移图、时序、Petri网)3.9数据及数据库需求(有关数据库的基本概念、E—R方法、数据结构的规范化、数据库分析的过程)3.10软件需求分析工具(SADT、PSL/PSA)教学要求:掌握:需求分析的方法理解:需求分析的任务和原则了解:需求分析工具4 软件设计教学内容4.1 软件设计的目标和任务(软件设计在开发阶段中的重要性、软件设计任务)4.2 软件设计基础(自顶向下,逐步细化、软件结构、程序结构、数据结构、软件过程、模块化、抽象化及信息屏蔽)4.3 模块的独立性(模块、模块独立性、耦合性、内聚性)4.4 结构化设计方法(典型的系统结构图、变换分析设计方法、事务分析、软件模块结构的改进、设计的后处理)4.5数据设计及文件设计(数据设计的原则、在设计程序结构时的数据结构的选择方法、文件设计)4.6过程设计(程序流程图、N—S图、PAD、判定表、PDL)教学要求掌握:软件设计的过程、步骤、方法及过程设计理解:软件设计过程中模块的特性、结构化程序设计方法5 Jackson系统开发(JSD)方法------面向数据结构的分析与设计方法教学内容5.1 进程模型5.2 JSD方法的步骤5.3 实体动作分析5.4 实体结构分析5.5定义初始模型5.6功能描述5.7 决定系统时间特性5.8 实现掌握:JSD方法6 用户界面设计教学要求6.1 用户界面应具备的特性(可使用性、灵活性、复杂性和可靠性)6.2用户界面设计的任务分析(用户特性分析、用户工作分析、用户模型和观点)6.3 用户界面任务和工作设计(任务分配、工作方式和工作设计)6.4 界面设计的基本类型(界面设计类型、菜单、图象、对话、问题描述语言、窗口)6.5 数据输入界面设计(数据输入的规则、输入表格设计、其它数据输入的方法)6.6数据显示界面设计(数据显示的规则、字符数据的显示、图形显示、报告)6.7控制界面的设计(用控制对话选择操作命令、用菜单界面进行控制、用功能键定义操作命令、用图标表示对象或命令、直接操纵、用窗口划分屏幕、命令语言、自然语言)教学要求掌握:用户界面设计过程、步骤及方法了解:用户界面设计的基本类型7 程序编码教学内容7.1 对源程序的质量要求7.2 结构化程序设计(关于GOTO语句的争论、结构化程序设计的原则、程序设计自顶向下,逐步求精、数据结构的合理化)7.3 程序设计风格(源程序文档化、数据说明、语句结构、输入和输出)7.4 程序效率(讨论效率的准则、算法对效率的影响、影响存储器效率的因素、影响输入/输出的因素)7.5 程序设计语言(程序设计语言特性的比较、程序设计语言的分类、程序设计语言的选择)7.6程序复杂性度量(代码行度量法、McCabe度量法、Halstead的软件科学、软件复杂性的综合度量)教学要求掌握:编码原则及方法了解:程序复杂性度量方法8 软件测试教学内容8.1 软件测试的基础(什么是软件测试、软件测试的目的和原则、软件测试的对象、测试信息流、测试与软件开发各阶段的关系)8.2 测试用例设计(黑盒测试、白盒测试)8.3 白盒测试的测试用例设计(逻辑覆盖、基本路径测试)8.4 黑盒测试的测试用例设计(等价类划分、边界值分析、错误推测法、因果图、功能图)8.5 软件测试的策略(单元测试、组装测试、确认测试、系统测试、测试的步骤及相应的测试种类)8.6 程序的静态分析方法(对程序的静态分析、人工测试)8.7 调试(调试的步骤、几种主要的调试方法、调试原则)8.8 软件测试工具(静态分析工具、动态分析工具、测试数据自动生成工具、模块测试台、测试合成环境)教学要求掌握:软件测试方法、策略了解:软件测试工具9 面向对象技术教学内容9.1 面向对象的概念(对象、类、继承、多态性和动态联编)9.2 开发过程(应用生存期、类生存期、综合方法、系统体系结构)9.3 面向对象分析与高层设计(面向对象分析、论域分析、应用分析、对象模型技术、高层设计、示例)9.4 类的设计(类设计的目标、通过复用设计类、类设计方法、类设计的例子)9.5 实现与测试(类的实现、应用程序的实现、测试一个面向对象的应用、面向对象的测试工具)9.6 Coad与Yourdon面向对象分析与设计技术(面向对象的分析、面向对象的设计)9.7 CRC卡片9.8 Booch的方法(Booch方法的设计过程、Booch方法的基本的模型)教学要求掌握:面向对象技术在软件开发时的运用过程及各种方法10 软件质量保证10.1软件质量的概念(软件质量的定义、软件质量的特性、软件质量特性之间的竞争)10.2软件质量的度量和评价(软件质量的度量、软件质量的评价)10.3软件质量保证(质量保证的概念、软件质量保证的主要任务、质量保证与检验)10.4软件质量保证体系10.5质量保证的体系(质量目标与度量、质量度量方法、软件质量管理小组)10.6软件的质量设计(质量特性转化为软件的内部结构、软件的质量展开)10.7技术评审(设计质量的评审内容、程序质量的评审内容)10.8软件可靠性(软件生存期与软件寿命的关系、软件可靠性的定义、软件可靠性的主要指标)10.9测试中的可靠性分析(推测错误的产生频度、估算软件中错误总数Er方法、测试精确度和测试覆盖度的评价、测试开始时的预测模型)10.10软件容错技术(什么是容错软件、容错的一般方法、容错软件的设计过程、软件的容错系统结构)教学要求掌握:软件质量保证体系理解:软件质量保证的概念11 软件维护11.1软件维护的概念(软件维护的定义、影响维护工作量因素、软件维护的策略、维护成本)11.2软件维护活动(维护机构、软件维护申请报告、软件维护工作流程、维护档案记录、维护评价)11.3程序修改的步骤及修改的副作用(分析和理解程序、修改程序、重新验证程序)11.4软件可维护性(软件可维护性的定义、可维护性的度量)11.5提高可维护性的方法(建立明确的软件质量目标和优先级、使用提高软件质量的技术和工具、进行明确的质量保证审查、选择可维护的程序设计语言、改进程序的文档)11.6维护“老化代码”11.7逆向工程和再工程(预防性维护、逆向工程的元素、再工程中的重构技术)11.8软件配置管理(软件配置管理、配置标识、版本控制、变更控制、配置状态报告、配置审核、软件配置管理工具PVCS)教学要求掌握:软件维护活动的方法理解:软件维护的逆向工程和再工程12 软件工程标准化与软件文档12.1什么是软件工程标准12.2软件工程标准化的意义12.3软件工程标准的制定与推行12.4软件工程标准的层次12.5中国的软件工程标准化工作12.6 ISO 9000-3标准及软件质量认证(ISO 9000标准产生的背景、ISO 9000系列标准的内容)12.7在开发机构中推行软件工程标准化12.8文档的作用与分类(软件文档的作用和分类、对文档编制的质量要求、文档的管理与维护)教学要求掌握:软件工程标准的制定过程理解:软件工程标准化的意义了解:中国软件工程标准化的过程13 软件项目管理与计划13.1项目管理过程13.2软件生产率和质量的度量(软件度量、面向规模的度量、面向功能的度量、软件质量的度量、协调不同的度量方法)13.3在软件工程过程中使用度量(建立基线、度量数据的收集、计算和评价)13.4软件项目估算(针对估算的考虑、软件项目计划的目标、软件的范围、软件开发中的资源、软件项目估算、分解技术)13.5软件开发成本估算(软件开发成本估算方法、专家判定技术、软件开发成本估算的经验模型、自动估算工具)13.6风险分析(风险识别、风险估计、风险评价、风险驾驭和监控)13.7进度安排(软件开发小组人数与软件生产率、任务的确定与并行性、制定开发进度计划、进度安排的图形方法、项目的追踪和控制)13.8软件项目的组织与计划(软件项目管理的特点、制定计划、软件项目的组织的建立、人员配备、指导与检验)13.9软件过程成熟模型(软件机构的的成熟性、软件过程成熟度模型、关键过程领域、成熟度提问单、利用CMM对软件机构进行成熟度评估)教学要求掌握:软件质量度量的方法和软件成本估算方法理解:软件生产率、风险分析了解:软件项目组织与计划第三部分课程大作业为了进一步弄清和巩固课堂所学的知识及实际的应用,配合讲课,设置以下课程大作业(该课程无平时作业):1. 结构化分析2. 概要设计3. 详细设计4. 测试5. 面向对象分析与设计6. 面向对象编程7. 面向对象测试实施要求:1. 课程大作业的1-4使用传统的软件工程方法;5-6使用面向对象的软件工程方法;可以设计一个大例子,用两种方法来做,也可以分别做两个例子。
一、应用题
1.假设一家工厂的采购部门每天需要一张定货报表。
报表按零件编号排序,表中列出所有需要再次定货的零件。
对于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、定货数量、目前价格、主要供应商、次要供应商。
零件入库或出席称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。
当某种零件的库存数量少于库存临界值时就应该再次定货。
试绘制数据流图。
1.一个简单的飞机机票预订系统:机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅
客取票,两部分通过机票文件的数据存储联系起来。
旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。
系统为旅客安排航班,打印出取票通知单(附有应交的账款)。
旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。
请你根据以上的描述,画出数据流程图。
2. 用用例图描述图书管理。
该系统主要包括三类用户:读者、图书管理员、系统管理员。
其中,读者是多个,图书管理员是几个,系统管理员是一个。
对于系统,读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。
图书管理员主要是日常操作以下几个工作环节:图书订购、新书验证、书目录入、图书登记、读者信息管理、借阅书登记、图书信息注销和读者信息注销等,而系统管理员统筹管理图书的系统相关事宜,比如权限维护、日志维护、增删用户和管理系统后台数据等。
某个学生成绩管理系统的部分功能如下:
(1)基本信息管理:教务管理人员输入或修改学期教学计划、学生名单和教师名单;
(2)学生选课:学生根据课程和教师信息进行选课;
(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师和时间;
(4)教师查询并打印课表;
(5)成绩管理:每门课程的教师在考试评分结束后将考试成绩录入,学生可查询。
请根据要求画出该问题的数据流程图。
2. 现在有一个医院病房监护系统,请根据用户需求建立系统的Use Case模型。
用户提出的系统功能要求如下:在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。
在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。
当病症出现异常时,系统会立即自动报警,通知值班医生及时处理,同时立即打印病人的病情报告,立即更新病历。
请按上述描述,画出系统的用例图。