系统分析与设计-知识点教案全套 第1-7章 系统分析与设计基础 -第七章 面向DevOps的系统开发_第1页
系统分析与设计-知识点教案全套 第1-7章 系统分析与设计基础 -第七章 面向DevOps的系统开发_第2页
系统分析与设计-知识点教案全套 第1-7章 系统分析与设计基础 -第七章 面向DevOps的系统开发_第3页
系统分析与设计-知识点教案全套 第1-7章 系统分析与设计基础 -第七章 面向DevOps的系统开发_第4页
系统分析与设计-知识点教案全套 第1-7章 系统分析与设计基础 -第七章 面向DevOps的系统开发_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

知识点:项目管理教学学时3学时。教学目的了解敏捷开发方法及开源软件的基本业态;理解系统分析与设计的必要性及系统分析员在系统开发生命周期中所担任的角色。掌握系统开发生命周期,包括从问题定义、需求分析、系统设计到软件实现与运维的全过程。了解软件项目管理的定义;理解软件项目管理的过程步骤和软件项目管理的内容,包括从项目选择、启动到关闭的全过程;掌握软件项目可行性分析、项目估算与进度管理的方法和工具,如甘特图、关键路径法和敏捷方法。培养管理和协作能力:通过实践案例和团队项目,培养学生在实际软件开发中进行项目管理和团队协作的能力。教学重点和难点教学重点软件项目管理的整体流程。如何进行项目范围定义、时间计划、资源分配和风险管理。如何进行项目进度跟踪、质量控制和变更管理。如何进行项目验收、文档归档和项目回顾。项目管理工具:掌握甘特图、关键路径法、敏捷方法等工具的使用。教学难点风险管理:识别、分析和应对项目风险的能力。变更管理:如何处理项目中的需求变更和调整项目计划。团队协作:如何有效地进行团队沟通和冲突解决,确保项目顺利推进。实践应用:将理论知识应用于实际项目中的能力。教学内容及方法(1)项目管理与软件项目管理以维基百科、本课程教材为例,介绍项目管理的定义,引申出软件项目管理的定义:为了使软件项目能够按照预期的成本、进度、质量顺利完成而对成本、进度、人员、质量、风险进行分析和管理的活动。通过PPT展示软件项目管理的基本概念和生命周期,主要内容:软件项目管理的定义和重要性、软件项目生命周期、项目管理的基本原则。软件项目管理的特殊性:纯知识产品,难以估计开发进度和质量,生产效率难以预测和保证;项目周期长,复杂度高,变化多;需要尽可能满足用户需求。阐述项目管理包含的活动(2)项目规划阐述项目管理包含的活动:项目选择;项目启动;项目计划;项目执行;项目关闭引入案例——松谷家具公司建立电商平台(WebStore),阐述项目范围管理:需求收集、范围定义、范围变更控制,时间管理:活动定义、活动排序、活动持续时间估算、时间计划编制,资源管理:资源计划、资源分配和优化,风险管理:风险识别、风险分析、风险应对计划引发学生思考和讨论:讨论实际项目中的风险识别和应对策略。让学生进行项目范围定义和时间计划编制的针对性练习。项目监控项目进度跟踪:进度报告、进度变更管理,讲授项目监控的内容和方法。质量控制:质量标准、质量保证、质量控制方法。案例分析:同样以上述案例为参考,分析实际项目中的进度跟踪和质量控制。变更管理:变更请求、变更控制过程。实践练习:让学生模拟项目中的变更管理过程。项目关闭项目验收:验收标准、验收测试,讲授收尾的各项活动和方法。文档归档:项目文档的分类和归档方法。案例分析:通过实际项目的收尾过程说明文档归档和项目回顾的重要性。项目回顾:项目总结、经验教训和改进建议。小组讨论:讨论如何从项目回顾中提炼经验教训并应用到未来项目中。、知识点测评笔试:通过选择题、简答题和论述题,考察学生对软件项目管理基本概念和方法的理解。简答题:什么是项目范围管理?它在项目管理中的作用是什么?简述项目风险管理的步骤。论述题典型例子:结合实际项目经验,讨论项目变更管理的挑战及其解决方法。实践项目:让学生进行一个小型软件项目的管理,从项目规划、项目监控到项目收尾,全面考察学生的项目管理能力。要求提交内容:项目范围说明书、甘特图(可以使用MicrosoftProject或其他项目管理软件制作)、风险分析报告、进度报告、质量控制报告、项目验收文档等。项目回顾报告案例分析:通过案例分析报告,评估学生对实际项目管理问题的分析和解决能力。典型问题:项目经理应该如何评估和处理这些需求变更?如何调整项目计划以应对新的需求?在这个过程中,风险管理应该如何进行?如何确保在增加新需求的同时,项目质量不受到影响?小组讨论:通过小组讨论和汇报,考察学生的团队协作和沟通能力。例如人“敏捷项目管理方法在软件开发中的应用与挑战”,讨论内容:敏捷项目管理与传统项目管理方法的比较、在实际项目中应用敏捷方法可能遇到的挑战和解决策略等。拓展阅读《项目管理知识体系指南》(PMBOK指南):美国项目管理协会出版的项目管理权威指南,详细介绍了项目管理的各个知识领域和过程组。《敏捷软件开发:原则、模式与实践》:RobertC.Martin著,介绍了敏捷开发的基本原则和最佳实践。《人月神话》:FrederickP.Brooks著,探讨了软件工程和项目管理中的经典问题和解决方法。知识点:面向对象方法与软件生命周期教学学时2学时。教学目的理解软件系统分析与设计的基本概念:学生应理解软件系统分析与设计的定义、目标及其在软件开发中的重要性。掌握现代工程方法:学生应了解现代软件工程方法,包括敏捷开发、面向对象开发方法、UML、模型驱动开发方法及其应用。熟悉面向对象开发方法:学生应掌握面向对象分析和设计的基本原则和方法。学习UML:学生应掌握UML的基本图示和用法。理解模型驱动开发方法:学生应了解模型驱动开发的基本概念和流程。实践敏捷开发方法:学生应熟悉敏捷开发的基本原则和实践方法。教学重点和难点教学重点现代工程方法:理解现代软件工程方法的基本原理和应用场景。面向对象开发方法:掌握面向对象分析和设计的基本原则和方法。UML:熟悉UML的基本图示和用法,能够使用UML进行系统建模。模型驱动开发方法:了解模型驱动开发的基本概念和流程。敏捷开发方法:理解敏捷开发的基本原则和实践方法。教学难点模型驱动开发:理解模型驱动开发的概念、优势及其在实际项目中的应用。UML建模:掌握UML图示的绘制方法及其在软件系统分析与设计中的应用。敏捷开发实践:在实际项目中应用敏捷开发方法的能力。教学内容及方法(1)软件系统的现代工程方法通过与软件开发经典过程模型比较,介绍软件系统的现代工程方法的目标、基本原则和特点、应用场景。介绍软件系统分析与设计的涉众和利益相关者,包括系统所有者、系统用户、项目经理等。介绍软件系统分析与设计基本过程,可通过案例分析说明系统分析与设计在软件开发中的实际应用。面向对象开发方法面向对象分析和设计的基本原则(封装、继承、多态)。面向对象开发方法的基本步骤(需求分析、系统设计、实现等)。面向对象建模的工具和技术,详细讲解面向对象分析和设计的基本原则和方法。UML(统一建模语言)介绍UML的基本概念和用途UML的主要图示(用例图、类图、序列图、活动图、状态图等)。实践练习:让学生使用UML工具绘制用例图、类图、序列图等。UML在系统分析与设计中的应用。案例分析:通过具体案例说明UML在系统分析与设计中的应用。模型驱动开发方法模型驱动开发(MDD)的基本概念和流程。模型驱动开发的优势和应用场景。案例分析:分析模型驱动开发在实际项目中的应用。模型驱动开发的工具和技术。实践练习:让学生使用模型驱动开发工具进行简单的系统建模和代码生成。敏捷开发方法敏捷开发的基本原则和核心价值。介绍敏捷开发的基本原则和常用方法。常用敏捷开发方法(Scrum、XP)的基本概念和实践。敏捷开发的实施步骤和工具。、知识点测评笔试:通过选择题、简答题和论述题,考察学生对软件系统的现代工程方法的理解。简答题:简述面向对象开发方法的主要步骤;比较敏捷开发和传统瀑布模型的优缺点。论述题:讨论模型驱动开发方法的优势和挑战;结合实际项目经验,讨论UML在系统分析与设计中的应用。实践项目:1)选择一个实际项目,进行需求收集和分析,编写需求规格说明书。使用UML绘制用例图、类图、序列图等,进行系统建模,采用面向对象开发方法进行系统设计,编写设计文档。2)敏捷开发实践:在项目开发过程中,采用Scrum方法,进行迭代计划和回顾会议。实施敏捷开发的核心实践,如每日站会、冲刺评审和回顾等。使用敏捷工具(如Jira、Trello)进行任务管理和进度跟踪。小组讨论:主题-面向对象开发方法与敏捷开发方法的比较与应用,讨论内容:面向对象开发方法的基本原则和应用实践;敏捷开发方法的基本原则和应用实践;面向对象开发方法与敏捷开发方法的优缺点比较;如何在实际项目中选择和应用合适的方法。拓展阅读《面向对象软件工程》:BerndBruegge和AllenH.Dutoit著,详细介绍了面向对象分析与设计的方法和实践。《UML用户指南》:GradyBooch、JamesRumbaugh和IvarJacobson著,全面介绍了UML的基本概念和应用。《模型驱动工程》:DavidS.Frankel著,详细介绍了模型驱动开发的基本概念和实践。知识点:系统的本质和经典软件过程模型教学学时1学时。教学目的理解软件系统分析与设计的基本概念:学生应理解软件系统分析与设计的定义、目标及其在软件开发中的重要性。掌握经典软件过程模型:学生应掌握瀑布模型、迭代模型、螺旋模型等经典软件过程模型及其适用场景。学习现代软件工程方法:学生应了解现代软件工程方法,如敏捷开发、DevOps等,并能够将其应用于实际项目。培养系统分析与设计能力:通过案例和项目实践,培养学生在软件开发中进行系统分析与设计的能力。。教学重点和难点教学重点软件系统分析与设计概述:理解软件系统分析与设计的基本概念、过程和目标。经典软件过程模型:掌握瀑布模型、迭代模型和螺旋模型的原理、步骤及应用场景。现代软件工程方法:了解敏捷开发、DevOps等现代工程方法的基本原理和应用实践。教学难点需求分析:如何正确地进行需求收集、分析和文档编写。模型选择:如何根据项目特点选择合适的软件过程模型。现代工程方法应用:将敏捷开发、DevOps等现代工程方法应用于实际项目中的能力。教学内容及方法(1)软件系统分析与设计概述以维基百科、本课程教材为例,通过PPT介绍软件系统分析与设计的定义、目标和软件系统的发展趋势。介绍软件系统分析与设计的涉众和利益相关者,包括系统所有者、系统用户、项目经理等。介绍软件系统分析与设计基本过程,可通过案例分析说明系统分析与设计在软件开发中的实际应用。阐述项目管理包含的活动(2)经典软件过程模型瀑布模型:定义、步骤、优缺点及应用场景。快速原型模型:定义、步骤、优缺点及应用场景。增量模型:定义、步骤、优缺点及应用场景。螺线模型:定义、步骤、优缺点及应用场景。喷泉模型:定义、步骤、优缺点及应用场景。RUP模型:定义、步骤、优缺点及应用场景。、知识点测评笔试:通过选择题、简答题和论述题,考察学生对软件系统分析与设计经典模型的理解。简答题:简述软件系统分析与设计的主要步骤;比较瀑布模型和增量模型的优缺点。论述题:讨论螺旋模型如何在软件开发中进行风险管理。实践项目:让学生根据项目特点,选择一个合适的软件过程模型,并说明选择理由,制定项目计划,包括主要里程碑、任务分配和时间安排。案例分析:某公司正在开发一个音乐播放器,初期使用瀑布模型进行开发,但在开发过程中发现需求频繁变更,导致进度延误和质量问题。项目经理决定转变为敏捷开发方法,希望通过迭代开发和频繁交付来适应需求变更。问题:瀑布模型在该项目中遇到了哪些问题?敏捷开发方法如何帮助解决这些问题?在转变过程中,项目团队应该如何进行变更管理?如何评估敏捷开发方法在该项目中的效果?拓展阅读《软件工程:实践者的研究方法》:RogerS.Pressman著,全面介绍了软件工程的理论和实践方法,包括系统分析与设计内容。《人月神话》:FrederickP.Brooks著,探讨了软件工程和项目管理中的经典问题和解决方法。知识点:交互式需求获取教学学时1学时教学目的理解和应用交互式需求获取方法教学重点和难点重点:问卷调查法,访谈法难点:联合应用开发JAD,需求调研会教学内容及方法(1)问卷调查法•问卷调查:指开发方就用户需求中一些个性化、需要进一步明确的需求(或问题),通过向用户发问卷调查表的方式,达到彻底弄清楚项目需求的一种需求获取方法。•开发方对需求有一定的了解,只是部分问题通过此法获得需求。问卷调查法的步骤:开发方根据合同和以往类似项目的经验,整理出一份《用户需求说明书》和待澄清需求(问题)的《问卷调查表》,并提交给用户。用户阅读《用户需求说明书》,并回答《问卷调查表》中提出的问题。如果《用户需求说明书》中有描述不正确或未包括的需求,用户可一并修改和补充。开发方分析用户返回的《用户需求说明书》和《问卷调查表》。如仍有问题,重复上一步骤;否则执行下一步骤。开发方整理出《用户需求说明书》,交给用户签字确认。•特点–方法简单–侧重点明确–可缩短需求获取时间,降低需求获取成本。(2)访谈法作为最容易入手、使用最多的需求获取方法,以口头形式,根据被询问者的答复搜集客观、不带偏见的事实材料。结构式访谈(又称标准化访谈),是一种对访谈过程高度控制的访谈,严格按定向的标准程序进行,访谈对象必须按照统一的标准和方法选取(一般采用概率抽样),访谈过程也高度标准化(即对所有被访者提出的问题、提问的次序和方式以及对被访者回答的记录方式等是完全统一的),通常采用统一设计、有一定结构的问卷以保证这种统一性。无结构式访谈是没有定向标准化程序、半控制或无控制的自由交谈。正式的访谈过程:1)选择访谈对象:在正式访谈之前,选择和谁访谈是访谈的第一步。比如,面比较广的访谈需要选择何种访谈群体,面比较窄的个体访谈需要选择何种访谈个体,这些都会影响其后访谈的内容和效果。2)访谈准备:为了对访谈的主要目标和主要内容有明确的认识,访谈前要准备一组“访谈提纲",以保证每次访谈能覆盖调查的主要内容。访谈前尽可能地详细了解被访者的基本情况和主要特征。访谈的时间和地点的确定应该以被访者方便为主要原则。3)实施访谈:在进入正题之前,可以先谈谈访谈对象身边的、较熟悉的事情,以消除拘束感。在被访者回答问题的过程中,访谈员要专心听,并认真记笔记,给被访者一种正式感、受尊重感和谈话有价值感。掌握正确的记录方法。访谈通常采用两种方式进行记录。一种是当场记录,一种是事后记录。4)访谈结果整理5)访谈结果确认访谈法的优点有:访谈的开展调教较为简单,经济成本较低;能获得包括事实、问题、被访者观点、被访者态度等各种信息类型在内的广泛内容;通过访谈,需求工程师可以与涉众(尤其是用户)相互之间建立友好关系。访谈的缺点和局限性有:访谈比较耗时,时间成本较高;访谈者的记忆和交流能力对结果影响较大,访谈的成功在很大程度上依赖于需求工程师的人际交流能力;交谈中常见的概念结构不同、模糊化表述、默认知识、潜在知识和态度偏见等各种问题在访谈中都不可避免,进而影响访谈的效果,导致产生不充分的、不相关的或者错误的数据。(3)联合应用开发JADJAD是一种前馈会议,用来帮助参与者吸取信息、做出决策、计划后续工作,有助于让持有各种观点的涉众在各类问题上尽快取得合理共识。JAD的步骤:1)准备会议。最重要的部分是确定会议目标和指导与会人员。2)引导议程。即协调员需要充分了解业务需求,决定让何人在何时发言,在讨论陷入困境时进行头脑风暴,在讨论变得激烈或对抗时维持秩序,且控制会议内容不跑题。3)生成文档。即记录员需要积极捕获其他JAD角色引出的各类需求,生成JAD需求获取表,并妥善保留最终文档和中间讨论要点。(4)需求调研会•基本含义:开发方和用户召开若干次需求讨论会议,达到彻底明确项目需求的目的。•应用:开发方不清楚项目需求,但用户清楚项目需求。即用户表达需求,开发方根据经验描述需求。会议讨论的步骤一般开发方根据双方制订的《需求调研计划》召开某个需求主题沟通会;会后,开发方整理出《需求调研记录》,提交用户确认;如果此主题还未明确,则再次沟通;否则转入下一步;所有主题需求沟通完毕,开发方根据历次《需求调研记录》,整理出《用户需求说明书》,提交用户签字确认。•注意事项–事先确定会议主题、范围、参会人员;–事先将相关资料送达参会人员,让参会人员开会前理解会议整体背景,有利于会议的顺利召开;–确定会议地点和时间,做好后勤保障;–选好主持人,把握会议方向、进度、调整会议气氛;–保证每人都有5-10分钟的发言时间,不允许他人打断,也不允许超过发言时间;–会后将会议纪要发送给参会人员、取得对结果的认同。知识点测评假设项目组需要开发一个基层党建工作网站,服务于某个居民类型复杂、人员流动性大的老社区。(1)如果在需求获取阶段采用问卷调查法,让学生设计一系列有针对性的调查问卷。(2)如果在需求获取阶段采用访谈法,让学生给出完整的访谈名单。(3)如果在需求获取阶段采用联合应用开发法,让学生给出详细的会议步骤。(4)如果在需求获取阶段采用需求调研法,让学生给出完整的参会名单。拓展阅读(1)卡洛琳·贾瑞特(CarolineJarrett);问卷调查:更高效的调研设计与执行;清华大学出版社,2023。(2)威廉·R.米勒,斯蒂芬·罗尔尼克

著,郭道寰,王韶宇,江嘉伟

译;动机式访谈法:改变从激发内心开始;华东理工大学出版社,2022。(3)安妮特·拉鲁;学会倾听;中国科学技术出版社,2023。知识点:非干扰式需求获取教学学时2学时教学目的理解和应用非干扰式需求获取方法教学重点和难点重点:单据分析法,报表分析法。难点:观察法,体验法。教学内容及方法(1)观察法需求调研者自身前往工作现场,观察他人是如何工作的,做了什么、采用何种工具、送出去什么、何时填写了何种单据、制作了何种报表等。常见的观察法有:采样法(传统、简单的观察方法)、情景法(深入到用户中,长期、浸入式的观察方法)、话语分析(对用户之间交谈行为的观察)、协议分析(对用户任务的观察)、任务分析(专门针对人机交互行为进行的观察)等。观察法适用于以下情况:(1)用户无法完成主动的信息告知,或者用户与需求工程师之间的语言交流无法产生有效结果;(2)用户无法完成主动告知的原因归结于事件的情景性,此处的情景性是指某些事件只有在和他们发生时的具体情景环境联系起来才能得到理解。(2)体验法需求调研者亲自到相关部门去顶岗,做一段时间的业务工作,有了亲自体验自然更容易理解这个岗位的工作。体验法最大的优点就在于对业务的理解会比较深刻。因为采用这种方法的需求分析人员就成为了某业务岗位的一员,就成了自己帮自己做软件,那对于需求的把握就十分具体真实了。(3)单据分析法分析用户当前使用的纸质或电子单据,通过研究这些单据所承载的信息,分析其产生、流动的方式,从而熟悉业务,挖掘需求。单据分析法的第一项工作是收集单据,此环节需要注意:收集单据要全面,宁可错收一把,不可放过一个;收集单据的过程也是很好的调研过程,手机单据应该亲自跑到工作现场,一边收集,一边观察,一边访谈;只收集用过的单据,重点关注单据中已经填写的内容;每种单据需要收集多张,不同填写者的填写内容、方式可能不一样,故需要收集多则20张,少则5、6张。单据分析法的第二项工作是分析单据,其核心在于对单据上的所有字段进行分析。单据的分析与收集在现实需求获取过程中往往是并行进行的:1)理清每个单据的源头:了解单据是由哪个部门的哪个岗位发出的。2)理清单据的流动路径:单据流动有几种常见方式,有些单据在流动的过程中会有分叉。3)理清每个字段的前因后果:分析每个岗位对每个单据做了些什么,获得什么信息,对工作有何帮助。4)注意边角上的不正规内容:单据的边角上甚至背面也可能会填写内容,这往往意味着当前的管理方式已经有了变化。(4)报表分析法通过分析用户使用的报表获取需求。在分析报表之前,需要了解生成报表的触发条件:领导有临时要求时,相关责任人根据收集的信息制作;到了某个周期性的时间点时,例如随处可见的日报、月报等;发生了某件事时,例如订单完成后,需要给客户出具一个与这个订单相关的分析报表。系统层面:根据用户录入的查询条件生成报表;到了某时间点时,系统自动生成报表储存在数据库中;在空闲时间段运算生成报表储存在数据库中。知识点测评结合本书采用的Web应用开源项目JPetStore,假如学生是一个猫舍信息管理系统的需求分析师。(1)如果在需求获取阶段采用观察法,让学生给出基本步骤。(2)如果在需求获取阶段采用单据分析法,让学生给出可能存在的单据以及具体的操作步骤。拓展阅读(1)安妮特·拉鲁;学会倾听;中国科学技术出版社,2023。(2)丹尼·L.乔金森

著,张小山,龙筱红

译;参与观察法;重庆大学出版社,2015。(3)库拉克等著,韩柯等译

著;用例通过背景环境获取需求;机械工业出版社,2004。知识点:非传统需求获取教学学时1学时教学目的了解和应用非传统需求获取方法教学重点和难点重点:原型法,敏捷法。难点:敏捷法教学内容及方法(1)原型法1)界面原型•基本含义:开发方根据自己了解的用户需求,描绘出应用系统的功能界面,再与用户进行交流和沟通。–即通过“界面原型”这一载体,使双方逐步明确项目需求。•应用:开发方和用户都不清楚项目需求情况,可视化界面原型是双方理解需求的载体。界面原型的步骤开发方根据自己所了解的用户需求,采用界面描绘出应用系统的功能界面;将功能界面提交给用户,并与用户沟通,挖掘出新的需求或者就需求达成理解上的一致;开发方对不断获取的需求进行增量式整理,根据新的需求丰富和细化界面原型;双方经过多次界面原型的交互,开发方最终整理出《用户需求说明书》,提交给用户签字确认。特点:•由于开发方和用户都不清楚项目需求情况,因此项目风险较大。•通过该方法,能加速项目需求的“浮现”和双方对需求的一致理解,从而减小由于需求问题给项目带来的风险。2)可运行原型系统•基本含义:开发方根据合同中规定的基本需求,在以往类似项目应用系统的基础上进行少量修改得出一个可运行系统,通过“可运行系统”这一载体,达到彻底挖掘项目需求的目的。•应用:适合开发方清楚项目需求而用户不清楚项目需求的情况。可运行原型系统的步骤开发方根据所了解的需求,在以往类似项目的基础上,快速“构建”出一个可运行系统;通过向用户演示“可运行原型系统”,逐步挖掘并让用户确认项目需求;开发方对不断获取的需求进行增量式整理,并根据新的需求丰富可运行原型系统;双方经过多次可运行原型系统的交互,开发方最终整理出《用户需求说明书》,提交给用户签字确认。特点:正式系统一般可以在该“可运行原型系统”的基础上演化而成,为后续开发工作节省工作量和成本。(2)敏捷法一种应对需求快速变化的软件开发方法,以Scrum为例来说明敏捷法在需求获取中的应用。Scrum是一种迭代式增量软件开发过程,是当今使用最广泛的敏捷框架之一。Scrum框架可用于管理专为5-9人的跨职能小型团队而设计的工作,团队的工作将被分解为若干可在统一的时间内完成的行动。整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,被称为一系列的迭代。每一次迭代都包括了定义、需求分析、设计、实现与测试。Scrum团队由Scrum管理员、产品负责人和团队成员组成。ScrumMaster:团队领导和设施提供商,负责以下职责:实现所有角色和功能之间的紧密合作、清除所有阻碍、保护团队免受任何干扰、跟踪进度和流程、确保正确利用AgileInspect&Adapt流程。产品负责人:从业务角度运行产品的人,承担以下责任:定义要求并确定其价值的优先顺序、设定发布日期和内容、在迭代和发布计划会议中确保团队正在努力实现最有价值的要求、代表客户的声音、接受符合完成定义和定义的验收标准的用户故事。开发团队:自组织,没人可以决定开发团队如何把ProductBacklog变成潜在可发布的功能。开发团队是跨职能的,团队作为一个整体,拥有创造产品增量所需要的全部技能。知识点测评假设项目组需要开发一个基层党建工作网站,服务于某个居民类型复杂、人员流动性大的老社区,此网站有“党员”、“社区居民”、“社区管理员”、“系统管理员”等角色。(1)针对其中任一角色,让学生给出基于原型法的需求获取方案。(2)针对其中任一角色,让学生给出基于敏捷法的需求获取方案。拓展阅读(1)道格拉斯·E波斯特,创建虚拟原型软件项目:方法与实践,机械工业出版社,2023。(2)科恩,用户故事与敏捷方法,机械工业出版社,2010。(3)詹姆斯·肖尔,敏捷开发的艺术(第二版),机械工业出版社,2024。知识点:用例模型开发教学学时6~9学时。教学目的了解需求分析阶段从事的开发活动及其产出的软件制品;理解用例的概念并掌握其发现与识别方法;系统掌握基于统一建模语言(UML)的用例图开发,及针对各用例的高层文本用例开发及详细文本用例开发。教学重点和难点教学重点:用例的发现与识别方法、用例图开发、高层及详细文本用例开发。教学难点:用例识别,用例图开发,详细文本用例开发。教学内容及方法(1)需求分析阶段的基本任务通过阅读导言并参考学习导图,了解需求分析的基本步骤;再从学习导图中了解各需求分析任务所需的输入,以及得到的输出。引发学生思考:需求分析阶段各任务之间的内在联系是什么?各任务产出之间具有哪些关联?(2)用例的发现首先归纳用例的传统概念,得到关于用例的新的认识,该认识将与后续用例的识别相关联。以网络宠物商店和日常生活常识为例,讨论如何发现备选用例的两种方法,掌握两种用例发现方法的基本步骤和实际运用。引发学生思考:为什么要采用两种方法来发现用例?(3)用例的识别首先从用例的概念出发,得到用例判定的标准,并掌握“违例情形”的适用条件。以网络宠物商店和日常生活常识为例,讨论如何基于上一步骤发现的备选用例,识别出真正的用例。引发学生思考:为什么“登录用户”可以作为用例,而“输入密码”则不行?如何去理解“完整动作序列”中“完整”的含义?怎样判定一个备选用例中的动作序列是否具有“完整性”?(4)开发用例图掌握UML用例图各图形元素的样式及语义。以网络宠物商店和日常生活常识为例,基于上一步骤识别出的用例,开发出标准规范的用例图。引发学生思考:如何区分直接参与者与间接参与者?如何区分包含和扩展关系?有人常常把用例图画成了流程图,或者把用例图画成了层次结构图,如何从用例的概念及用例图的规范出发,去避免这两种情况?(5)开发文本用例理解文本用例用于刻画各用例内部动作序列的目的,熟悉高层文本用例模版,以“管理订单”用例为例,掌握开发高层文本用例的要点和方法。从高层文本用例出发,熟悉对话式详细文本用例的模版,以“管理订单”用例为例,掌握详细文本用例开发的要点和方法。总结用例开发的任务与产出,整理出需求规格描述文档中的用例模型开发部分。引发学生思考:为什么要开发文本用例?文本用例与用例图之间存在何种联系?如何把详细文本用例各部分的内容,跟用例的概念及用例判定的标准对应起来?知识点测评以日常生活中逛超市或去图书馆借书的所见所闻所感为例,发现并识别用例,基于UML规范,开发出合理且合规的用例图?挑选所开发用例图中的任意一个代表性用例,以开发出其高层文本用例及详细文本用例。拓展阅读CraigLarman著,李洋等译,UML和模式应用(第三版),北京:机械工业出版社,2006.5。阅读第6章知识点:概念模型开发教学学时6~9学时。教学目的理解软件需求中概念、类、对象、关系、连接等的含义;掌握需求分析中类与属性的选取、关系种类与性质的定义;掌握基于UML的概念类开发。教学重点和难点教学重点:概念、类、对象、关系、连接等的含义;类与属性的选取、关系种类与性质的定义、UML概念类图开发。教学难点:类与属性的选取,关系种类与性质的定义。教学内容及方法(1)理解软件需求中概念、类、对象、关系、连接等含义及其UML表达通过例子来理解,什么是“概念”及其内涵、外延?从给定的概念类图出发,明确什么是类、对象、关系、连接,及其对应的UML图形化表达。引发学生思考:类及类之间的关系与数学中的集合及集合之间的关系有什么联系?(2)类与属性的选取以“教室”为例,理解如何选取类。以“座椅”为例,理解如何选取类的属性,并明确属性的类型、取值范围的定义究竟有何意义。引发学生思考:选取一个概念作为系统中的一个类和不选取它作为类的依据是什么?同样,一个类中选取一个属性和不选取这个属性有何区别?其不同类型和取值范围的定义有什么差别?(3)关系种类与性质的定义通过举例,明确什么是关系、关系的种类、关系的名称、关系的角色、关系的度、关系的重数,理解其各自的UML图形化表达。引发学生思考:聚合与组合关系有何区别?一元关系如何转化为二元关系?不同重数的定义对于系统来说,究竟意味着什么?(4)开发概念类图掌握UML概念类图各图形元素的样式及语义。以网络宠物商店和日常生活常识为例,基于任选的代表性文本用例描述,识别概念与属性,定义相应关系,从而开发出标准规范的概念类图。引发学生思考:聚合关系与一般关联关系中的一对多如何区分和抉择?一元关系和二元关系均可以定义类及类间关系时,谁更优先?关系重数定义的不同定义,究竟意味着什么变化?知识点测评给定一用例文本,能否基于UML规范,开发出合理且合规的概念类图?能否清晰地表达出:选定相关类、属性、关系定义的理由。拓展阅读CraigLarman著,李洋等译,UML和模式应用(第三版),北京:机械工业出版社,2006.5。阅读第9章知识点:行为模型开发教学学时6~9学时。教学目的理解系统操作的概念;掌握系统操作的识别方法;掌握UML序列图的各图形元素及其语义;掌握用例序列图的开发方法;掌握系统操作契约的开发方法。教学重点和难点教学重点:系统操作的识别;用例序列图开发;系统操作契约开发。教学难点:用例序列图开发;系统操作契约开发。教学内容及方法(1)系统操作的识别从“管理订单”用例出发,掌握从详细文本用例中进行系统操作识别的各个步骤。引发学生思考:系统操作的与系统以及参与者之间是什么关系?每个系统操作对系统而言,意味着什么?(2)用例序列图的开发明确参与者、系统、生命线、激活期、系统操作、控制段的语义及其UML图形元素。掌握基于上述UML图形元素的用例序列图绘制方法。引发学生思考:系统操作或消息,对受操作的对象或接受消息的对象意味着什么?激活期及其长度意味着什么?怎么通过用例序列图去展现某个用例背景下,系统响应参与者业务需求的动作序列?(3)操作契约开发明确系统状态变迁的本质。理解前置条件和后置条件的定义。在理解系统状态变迁本质的基础上,能够基于系统操作契约模版,开发出某个系统操作执行的前置条件和后置条件,进而得到该系统操作的契约。了解需求管理的的相关过程、任务和产出引发学生思考:深刻理解系统状态的本质及系统状态变迁的实质。知识点测评给定一用例文本,能否基于UML规范,开发出合理且合规的用例序列图?能否针对用例序列图中的每个系统操作,开发出对应的操作契约。拓展阅读CraigLarman著,李洋等译,UML和模式应用(第三版),北京:机械工业出版社,2006.5。阅读第10-11章基本设计思想与原则教学学时1学时。教学目的理解抽象的基本概念以及抽象原则的思想;理解模块化的基本概念,熟悉模块独立性的度量方法;理解关注点分离的基本概念。教学重点和难点教学重点:系统设计中的基本思想和原则。教学难点:模块独立性的度量方法;关注点分离的概念。教学内容及方法主要内容:除了功能性需求,软件设计过程中还需要考虑什么因素?哪些基本思想指导我们进行软件系统设计?抽象是一种基本思维范式,讨论和分析它在软件系统设计中的应用。抽象原则、关注点分离、模块化等基本原则的概念,以及在系统设计中的作用。教学方法:讲授法:通过课件展示,系统讲解基本设计原则的概念和作用。知识点测评给学生布置一个资料查阅任务,要求列举一些系统开发中应用设计原则的案例,并对原则的应用效果进行阐述。拓展阅读[1]LarmanC.ApplyingUMLandPatterns:AnIntroductiontoObject-OrientedAnalysisandDesignandIterativeDevelopment[M].PrenticeHallPTR,2004。[2]克雷·拉曼,UML和模式应用(原书第3版),机械工业出版社,2024.职责分配原则(GRASP)教学学时3学时。教学目的理解创建者、信息专家、控制器等9种GRASP职责分配原则的基本概念和用法。教学重点和难点教学重点:面向对象系统设计的职责分配原则的基本概念和用法。教学难点:GRASP职责分配原则的用法。教学内容及方法主要内容:对象职责是什么?对象职责分配过程中为什么需要一些指导原则?讨论创建者、信息专家、低耦合、高内聚、控制器、多态性、纯虚构、间接性、防止异变等职责分配原则的概念和应用。教学方法:讲授法:通过课件展示,系统讲解职责分配原则的概念和用法。举例法:用简单的例子阐释每个原则所描述的问题和解决方案。知识点测评以小组为单位,围绕一个小型软件项目设计案例,讨论如何基于学习的设计原则进行改进。拓展阅读[1]LarmanC.ApplyingUMLandPatterns:AnIntroductiontoObject-OrientedAnalysisandDesignandIterativeDevelopment[M].PrenticeHallPTR,2004。[2]克雷·拉曼,UML和模式应用(原书第3版),机械工业出版社,2024.知识点:对象序列图开发教学学时6~9学时。教学目的理解系统操作契约后置条件的意义;理解系统操作契约与对象序列图之间的关系;理解对象序列图的构成元素及其语义;能够在深刻理解职责分配设计模式的基础上,合理应用并开发对象序列图。教学重点和难点教学重点:系统操作契约与对象序列图之间的关系;对象序列图的构成元素及其语义;职责分配设计模式的应用;对象序列图开发。教学难点:职责分配设计模式的应用;对象序列图开发。教学内容及方法(1)系统操作契约与对象序列图之间的关系再次回顾系统状态及其状态变迁的本质,理解系统操作契约如何解读解析。明确对象序列图开发的两大输入(即系统操作契约的后置条件及用例对应的概念类图);并以“用户注册”为例,明确系统操作契约的后置条件作为对象序列图开发的输入之一,是如何发挥作用的。引发学生思考:从系统设计环节的对象序列图开发的需要出发,回顾自己在需求分析阶段所开发的系统操作契约(尤其是后置条件),其完成质量如何?(2)对象序列图的构成元素及其语义理解从用例序列图到对象序列图的演进(精化)过程。回顾用例序列图中各UML图形元素(参与者、系统、生命线、激活期、系统操作、控制段)及其语义,对比思考对象序列图中新增UML图形元素(对象、消息)及其语义。掌握基于上述UML图形元素的对象序列图绘制方法。引发学生思考:对象序列图中的消息序列跟用例序列图中的系统操作之间有何区别与联系?(3)职责分配设计模式的应用与对象序列图开发掌握五种常见的职责分配设计模式(GRASP),尤其是熟练掌握各设计模式的应用案例。在理解职责分配设计模式思想及其应用案例的基础上,能够基于系统操作契约的后置条件及用例对应的概念类图,开发得到当前用例背景下,该系统操作对应的对象序列图。引发学生思考:明确设计模型与需求分析阶段各模型的联系在哪里?深刻理解对象序列图两大输入,即系统操作契约的后置条件及用例对应的概念类图,各自的作用是什么?知识点测评给定任一系统操作契约的后置条件及用例对应的概念类图,能否基于UML规范,开发出合理且合规的对象序列图?能否在开发对象序列图的设计决策中,正确使用职责分配设计模式,得到合理的设计方案;且作出相关决策时,以充分表述其基于职责分配设计模式相关理论的思路及依据。拓展阅读CraigLarman著,李洋等译,UML和模式应用(第三版),北京:机械工业出版社,2006.5。阅读第17-18章知识点:类的设计教学学时3~6学时。教学目的理解设计类图的构成元素及其语义;理解概念类图与设计类图之间的区别与联系;能够基于得到的对象序列图,在深刻理解其各符号所代表的含义基础上,结合概念类图,将其转换为对应的类的设计;能够基于对象序列图及类的设计生成代码(代码框架)。教学重点和难点教学重点:设计类图的构成元素及其语义;设计类图开发;基于规则的代码生成方法。教学难点:设计类图开发;基于规则的代码生成方法。教学内容及方法(1)设计类图的构成元素及其语义再次回顾概念类图,理解概念类图与设计类图之间的区别与联系。再次回顾UML类图的各图形元素及其语义。引发学生思考:设计类图如何用数学中的集合及集合之间的关系来表示?(2)设计类图开发理解从对象序列图到设计类图的映射方法:理解对象序列图中的消息定义与设计类图中的方法签名之间的联系;理解消息序列与方法调用序列之间的联系。基于上一阶段得到的对象序列图,在深刻理解其各符号所代表的含义基础上,结合概念类图,将其转换为对应的设计类图。引发学生思考:如何将对象序列图中的消息序列转换为对应类的对应方法的方法体设计?(3)基于规则的代码生成方法理解为何可以从对象序列图和设计类图转化为代码骨架。掌握解析对象序列图及设计类图的方法,理解如何从这两者出发得到对应类的对应方法的方法体代码。引发学生思考:如何形式化表述对象序列图和设计类图到代码的转换规则,以便开发工具实现自动化的转换?知识点测评给定任一系统操作契约的对象序列图及概念类图,能否基于UML规范,开发出合理且合规的设计类图?给定对象序列图及设计类图,能否基于转换规则,得到对应类的对应方法的方法体的代码骨架?拓展阅读CraigLarman著,李洋等译,UML和模式应用(第三版),北京:机械工业出版社,2006.5。阅读第20章数据库设计概述教学学时3学时。教学目的通过本章学习,学生能够理解数据库设计的基本概念和重要性。掌握数据库设计的各个步骤和方法。能够运用E-R图进行数据库的概念设计。理解关系数据库的设计原则。掌握从概念模型到逻辑模型再到物理模型的设计转换过程。教学重点和难点教学重点:数据库设计的基本概念。E-R图的绘制与应用。关系数据库的设计原则和范式理论。数据库设计的各个步骤及其实现方法。教学难点:概念数据模型与逻辑数据模型的转换。物理数据模型的实现及优化。教学内容及方法数据库概述内容:数据的定义与分类。数据库、数据库管理系统的概念与功能。常见数据库管理系统介绍。方法:讲授法:通过PPT展示,系统讲解数据的基本概念和数据库的功能。演示法:展示几种常见数据库管理系统的界面或功能介绍视频。数据模型内容:数据模型的基本概念和分类。层次模型、网状模型、关系模型和面向对象模型。方法:讲授法:通过PPT展示和讲解数据模型的种类和特点。举例法:用实际案例和图示说明不同数据模型的应用场景和特点。概念数据模型设计内容:E-R图的基本概念和绘制方法。概念数据模型的管理与优化。方法:讲授法:通过PPT展示和讲解E-R图的基本概念。现场绘图法:教师在黑板或电子白板上绘制一个简单的E-R图,并解释每个元素的含义和作用。逻辑数据模型设计内容:逻辑数据模型的基本概念。逻辑数据模型的创建与管理。方法:讲授法:通过PPT展示和讲解逻辑数据模型的概念和创建方法。举例法:用一个简单的逻辑数据模型图示说明其结构和要点。物理数据模型设计内容:物理数据模型的基本概念。物理数据模型的创建与优化。方法:讲授法:通过PPT展示和讲解物理数据模型的基本概念。讨论法:引导学生讨论物理数据模型的实现和优化方法,分享实际应用经验。知识点测评数据库设计的基本步骤包括哪些?简要说明每个步骤的主要任务。参考答案:数据库设计的基本步骤包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、应用程序设计以及系统运行与维护。需求分析是调查用户需求;概念结构设计是绘制E-R图;逻辑结构设计是将E-R图转换为数据库管理系统支持的逻辑模型;物理结构设计是选择存储结构和方法;应用程序设计是开发用户接口和功能模块;系统运行与维护是确保系统的正常运行和更新。E-R图中的实体、属性和联系分别是什么?请解释并举例说明。参考答案:实体是现实世界中可区别的事物,如学生、课程;属性是实体的特征,如学生的姓名、年龄;联系是实体之间的关系,如学生选课。E-R图通过矩形表示实体,椭圆形表示属性,菱形表示联系。逻辑数据模型和物理数据模型有什么区别?为什么需要从逻辑模型转换为物理模型?参考答案:逻辑数据模型是对数据的逻辑结构进行描述,不依赖具体的数据库系统;物理数据模型是对数据的物理存储进行描述,考虑具体的数据库实现。转换的原因是逻辑模型便于理解和设计,物理模型便于实际存储和优化。拓展阅读(1)《数据库系统概念》(DatabaseSystemConcepts)-AbrahamSilberschatz,HenryF.Korth,S.Sudarshan著,S.苏达尔尚、杨冬青、李红燕、张金波等译。(2)《数据库系统实现》(DatabaseSystems:TheCompleteBook)-HectorGarcia-Molina,JeffreyD.Ullman,JenniferWidom著,杨冬青、吴愈青、包小源、唐世渭等译。(3)《数据库管理系统》(DatabaseManagementSystems)-RaghuRamakrishnan,JohannesGehrke著,周立柱等译。数据库设计范式理论教学学时3学时。教学目的通过本章学习,学生能够通过理论讲解和实际案例分析,学生能够了解范式的定义、作用以及各级范式的特点,并能够应用范式理论进行数据库设计,以减少数据冗余、提高数据的一致性和查询效率,避免插入、删除和更新异常。教学重点和难点教学重点:理解第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及Boyce-Codd范式(BCNF)的定义和特点,并能够通过案例分析应用这些范式进行数据库设计。教学难点:理解各级范式之间的关系及递进、函数依赖与多值依赖的概念,以及如何在实际设计中应用这些概念。教学内容及方法关系规范化理论概述教学内容:介绍关系规范化理论的基本思想,解释范式的定义及其重要性,概述各级范式的类型(1NF、2NF、3NF、BCNF、4NF、5NF)。教学方法:通过PPT讲解和板书,详细说明范式的概念及其在数据库设计中的作用。通过实例展示范式化前后的数据库设计区别,增强学生的直观理解。第一范式(1NF)教学内容:解释第一范式的定义,即数据库表的每一列都是不可再分割的基本数据项,展示不满足1NF的表格及其问题,进行1NF的规范化处理。教学方法:使用实际案例展示不满足1NF的表格,说明其问题所在,并进行修改。通过互动问答,检查学生对1NF的理解和应用。第二范式(2NF)教学内容:解释第二范式的定义,即在满足1NF的基础上,每个非主属性完全依赖于主关键字,展示不满足2NF的表格及其问题,进行2NF的规范化处理。教学方法:通过案例展示部分依赖问题,讲解如何进行2NF的规范化处理。组织学生分组讨论,解决实际数据库设计中的2NF问题。第三范式(3NF)教学内容:解释第三范式的定义,即每个非主属性都不传递依赖于候选键,展示不满足3NF的表格及其问题,进行3NF的规范化处理。教学方法:通过实例分析传递依赖问题,讲解如何进行3NF的规范化处理。组织学生上机操作,将不满足3NF的表格进行规范化处理。Boyce-Codd范式(BCNF)教学内容:解释BCNF的定义,即每一个决定因素都是一个超键,展示不满足BCNF的表格及其问题,进行BCNF的规范化处理。教学方法:通过实例展示和讲解BCNF的定义及应用,强调其比3NF更严格的要求。通过案例分析,帮助学生理解BCNF的实际应用。第四范式(4NF)和第五范式(5NF)教学内容:简要介绍4NF和5NF的定义及其在实际数据库设计中的应用,解释多值依赖和投影-连接依赖的概念。教学方法:通过PPT和实例展示,简要说明4NF和5NF的概念和应用场景。通过拓展阅读,鼓励学生进一步了解高阶范式的理论和应用。知识点测评什么是第一范式(1NF),它在数据库设计中的作用是什么?参考答案:第一范式(1NF)是指数据库表的每一列都是不可再分割的基本数据项,确保每个字段都是原子值,即不可再分的独立数据项。1NF的作用在于确保数据库中每个表格的数据结构是规范的,消除重复和多值属性,从而避免数据冗余,提高数据的一致性和完整性。第二范式(2NF)如何定义?为什么需要满足第二范式?参考答案:第二范式(2NF)是在满足第一范式的基础上,要求每个非主属性完全依赖于主关键字。这意味着表中的每个非主属性都不能只依赖于主关键字的一部分。满足第二范式的目的在于消除部分依赖,减少数据冗余,避免插入、删除和更新异常,提高数据的完整性。什么是Boyce-Codd范式(BCNF),它与第三范式(3NF)有什么区别?参考答案:Boyce-Codd范式(BCNF)要求每一个函数依赖X→Y中的决定因素X都必须包含一个键,进一步规范化关系模式,消除不规范的依赖关系。BCNF与3NF的主要区别在于,BCNF对函数依赖的要求更严格,BCNF消除了3NF中的一些特殊情况,使关系模式更加规范化。拓展阅读(1)《数据库系统概念》(DatabaseSystemConcepts)-AbrahamSilberschatz,HenryF.Korth,S.Sudarshan著,S.苏达尔尚、杨冬青、李红燕、张金波等译。(2)《数据库系统实现》(DatabaseSystems:TheCompleteBook)-HectorGarcia-Molina,JeffreyD.Ullman,JenniferWidom著,杨冬青、吴愈青、包小源、唐世渭等译。(3)《数据库管理系统》(DatabaseManagementSystems)-RaghuRamakrishnan,JohannesG

温馨提示

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

评论

0/150

提交评论