软件工程(微课视频版)|教学大纲方法课程

本课程从软件工程实践者的角度讲述软件工程的基本原理、概念和技术,强调软件开发过程的方法和技术的应用和评价。通过本课程的学习,使学生能够熟练应用软件分析、设计、实现和测试的基本技术以及面向对象分析和设计的基本方法。通过课程实践,实际运用软件工程的技术和方法,以及软件项目管理和团队开发的工作方法。

课程重点讲授软件开发的全过程以及贯穿过程的各阶段中所采用的技术、方法和工具。课程前一部分的内容介绍传统的结构化分析和设计方法,后一部分的内容介绍九十年代开始出现的面向对象软件工程的研究。

通过本课程的学习,要求学生能够分析、评价这两种不同风格的方法学,并有意识地按照软件工程规范指导软件系统开发实践。教学重点和难点是:在课程实践中熟练运用结构化方法、面向对象方法开发软件,包括必要的过程、步骤及应遵循的原则。教学中不但注重概念、原理方法、技术的讲解和分析评价,也十分注重方法、技术的实际应用,使学生能够利用所学的方法和技术开发小型软件项目。

2

教学目标

通过本课程的学习,要求学生能够分析、评价这两种不同风格的方法学,并有意识地按照软件工程规范指导软件系统开发实践。教学重点和难点是:在课程实践中熟练运用结构化方法、面向对象方法开发软件,包括必要的过程、步骤及应遵循的原则。教学中不但注重概念、原理方法、技术的讲解和分析评价,也十分注重方法、技术的实际应用,使学生能够利用所学的方法和技术开发小型软件项目;培养学生具有新时代、新思想、新实践,唯物辩证法的根本观点,培养学生探索未知、追求真理、勇攀科学高峰的责任感和使命感;激发学生科技报国的家国情怀和使命担当。

具体包括:

(1)掌握软件、软件危机、软件工程的定义和内容、软件过程的不同模型及其优缺点。

(2)了解结构化分析、设计和实现的方法;掌握软件模块独立性分析原则,能进行模块接口设计、过程设计,并能解决小型软件项目中遇到的各种问题。掌握结构化软件测试方法,掌握黑盒测试,白盒测试。

(3)了解面向对象的分析、设计和实现方法;掌握UML,能结合行业需求进行系统领域划分;掌握软件架构及软件设计模式的设计优化方法,能针对具体行业应用设计和优化软件体系结构;掌握面向对象的软件测试方法,掌握系统状态图及脚本撰写。

(4)了解软件项目管理、软件风险管理的方法;了解软件团队合作方法,了解利用配置管理工具进行团队开发的方法。

(5)了解敏捷开发理念及DevOps,了解现代软件开发趋势,了解微服务、云服务开发、部署。了解软件重用的方法和手段。

1.课程目标制定依据

2.课程目标

知识目标

课程目标1:理解软件、软件危机、软件工程的定义和内容,能够分析不同模型软件过程的优缺点,将软件开发过程应用于软件开发中,支持毕业要求3.4和毕业要求8.4。

课程目标2:理解结构化软件测试方法原理,能够应用黑盒测试,白盒测试方法测试软件,支持毕业要求11.1和毕业要求11.2;

课程目标3:理解面向对象的软件测试方法原理,能够分析系统状态图及脚本,编写测试用例,支持毕业要求11.1和毕业要求11.2;

课程目标4:能够应用软件项目管理、软件风险管理的方法,支持毕业要求9.1和毕业要求9.2;

课程目标5:理解软件重用的方法和手段,支持毕业要求3.4。

能力目标

课程目标6:能够应用结构化分析、设计和实现的方法,结合项目需求提出目标系统可行的解决方案;能够分析软件模块独立性,能设计模块接口、过程,并能分析并解决小型软件项目中遇到的各种问题,支持毕业要求11.1和毕业要求11.2;

课程目标7:能够应用面向对象的分析、设计和实现方法,结合项目需求提出目标系统可行的解决方案;能应用UML,对行业需求进行系统领域建模和划分,支持毕业要求11.1和毕业要求11.2;

课程目标8:能够应用软件架构及软件设计模式的设计优化方法,能针对具体行业应用设计和优化软件体系结构,支持毕业要求3.4和毕业要求8.4;

课程目标9:理解软件团队合作方法,能应用配置管理工具进行团队开发,支持毕业要求9.1和毕业要求9.2。

课程目标10:具备自我评价能力和职业规划能力,支持毕业要求8.4、毕业要求9.1和毕业要求11.2。

3.课程教学目标与毕业要求指标点的对应关系

考核形式与成绩计算

本课程考核由实验成绩、MOOC成绩和期末大作业成绩三个部分构成。

1.评价标准

2.考核方法及与指标点的支撑关系

3.课程目标的达成情况评价

4

参考教材

1.主要教材

2.参考书

5

配套资源

1.线上教学资源

软件工程MOOC(1000分钟).杜文峰等软件工程课程组.深圳大学优课联盟.

2.其他资源

PPT课件,教学大纲,实验大纲,教学进度表,习题答案。

3.辅助材料

6

课程教学设计

本课程主要教学内容包括软件发展史及软件工程、软件生命周期、结构化分析、结构化设计、结构化实现、统一建模语言、面向对象分析、面向对象设计、面向对象实现、软件过程、软件项目管理、腾讯敏捷研发、人机交互设计等内容。由于本课程是计算机科学与技术专业的核心课程,而且与社会工程实践有着紧密联系,因此本课程包含36学时的理论教学和36小时实验教学。

根据课程思政与教学内容的契合点,在理论教学上,学生一方面掌握软件及软件工程、结构化方法学、面向对象方法学等基本概念;一方面学习国家发展战略、中华传统文化等思政内容;而且还要学会采用不同方法学解决复杂软件工程问题,培养软件工程思想和科学思维方式。

通过在线视频课程,本课程可以开展实时反馈、全程紧张的实验教学模式,引导学生点、线、面地把所学知识点串联起来,构筑整体知识结构;在实验作业中加入思政元素,启迪学生进行知识的再发现,激发问题和创新意识,培养学生的工匠精神和创新精神。

课程思政元素主要包括:国家发展战略、中华传统文化、个人道德素养、唯物辩证观。主要通过类比、隐喻、演绎、关联等方式,融入到课堂讲授和实验编程中,实现润物无声的思政教学模式。

理论教学部分(54学时)

(一)软件发展史及软件工程(4学时)

1.主要内容

(1)软件的发展历程

(2)软件的定义和特点

(3)软件危机

(4)软件工程

(5)软件开发方法

(6)软件工程知识体系

2.基本要求

(1)了解什么是软件开发的发展史,软件开发的本质特性;

(2)了解软件危机产生的根本原因,以及消除危机的途径;

(3)理解软件工程的实质和内容;了解软件开发的过程、原理;

(4)了解不同的软件开发方法的特点;

(5)了解软件工程涵盖的知识体系。

3.重点、难点

重点:软件、软件危机、软件工程的定义和内容、不同软件开发方法的优缺点。

难点:对于没有大型软件开发经验的学生来说,如何加强学生对软件危机的理解、软件开发团队的作用和软件工程方法学的实践是本章的难点。

4.作业及课外学习要求

作业:根据课程讲解内容,复习基本的软件工程理论知识

课外学习要求:能够了解和分析现有软件项目的开发过程以及开发方法

5.思政内容

了解软件工程在人工智能、工业互联网、大数据、云计算等新兴技术系统架构与软件开发中得到广泛应用,了解我国科技发展形势,科技兴国科技强国战略。通过分组讨论方式分析自己在研发过程中遇到的软件危机问题,以及当初自己是如何克服的。如果你生活在中国近代,当国家遇到危机的时,你会怎么办?

6.支撑课程目标和毕业要求及指标点

本知识点的讲授和学习,可以支撑“课程目标1:理解软件、软件危机、软件工程的定义和内容,能够分析不同模型软件过程的优缺点,将软件开发过程应用于软件开发中”及“课程目标10:具备自我评价能力和职业规划能力”。

(二)软件生命周期(4学时)

(1)软件生命周期

(2)项目构想及立项

(3)可行性分析

(4)项目开发计划

(5)需求分析概述

(6)软件设计概述

(7)软件实现概述

(8)软件测试概述

(9)软件维护概述

(2)了解软件构想及立项涉及的内容范围;

(3)了解可行性分析的实质和包含的技术内容;

(4)了解软件开发计划需要包含内容,以及软件开发计划各个部分的作用;

(5)了解软件需求分析的重要性,了解不同软件开发方法进行需求分析的方式,以及软件需求涵盖不同内容对用户需求描述的实质;

(6)了解软件设计的重要性,了解不同软件开发方法进行设计的方式;

(7)了解软件实现的实质,对不同软件开发方法实现软件的方式进行分析;

(8)了解软件测试的实质,了解软件测试包含的技术内容和软件测试用例产生方法;

重点:软件生命周期、项目开发计划、需求分析、软件设计、软件实现、软件测试、软件维护等。

难点:由于学生没有完整的软件开发经验,如何加深学生对软件生命周期各个阶段的理解是本章内容的重点和难点。

作业:根据课程讲解内容,结合已有的软件项目经验来理解软件生命周期的不同阶段

课外学习要求:能够理解软件生命周期,以及理解不同软件开发方法设计的生命周期阶段

结合软件业务需求与非业务需求的重要性,讨论所学知识与精神力量之间的关系。强调只有拥有了正确的人生观、价值观、世界观,才能有效利用所学知识来实现人生理想。

本知识点的讲授和学习,可以支撑“课程目标2:理解结构化软件测试方法原理,能够应用黑盒测试,白盒测试方法测试软件”、“课程目标3:理解面向对象的软件测试方法原理,能够分析系统状态图及脚本,编写测试用例”、“课程目标4:能够应用软件项目管理、软件风险管理的方法”、“课程目标6:能够应用结构化分析、设计和实现的方法,结合项目需求提出目标系统可行的解决方案;能够分析软件模块独立性,能设计模块接口、过程,并能分析并解决小型软件项目中遇到的各种问题”、“课程目标7:能够应用面向对象的分析、设计和实现方法,结合项目需求提出目标系统可行的解决方案;能应用UML,对行业需求进行系统领域建模和划分”和“课程目标10:具备自我评价能力和职业规划能力”。

(三)结构化分析(4学时)

(1)结构化需求描述方法

(2)结构化需求建模

(3)数据流图

(4)处理/加工逻辑说明

(5)状态转换图

(6)数据模型

(1)理解结构化需求建模的方式和方法

(7)掌握软件需求规格说明的撰写

重点:结构化分析概念,数据流图、处理/加工逻辑说明、状态转换图和数据模型

作业:根据课程教学内容,分析和调研软件开发项目(即期末大作业)。

课外学习要求:通过项目实践,掌握结构化需求分析中的各种建模工具。

了解结构化方法学软件开发中的应用,了解如何分析国家面临的问题,能够从行为角度对问题进行详细描述。

本知识点的讲授和学习,可以支撑“课程目标6:能够应用结构化分析、设计和实现的方法,结合项目需求提出目标系统可行的解决方案;能够分析软件模块独立性,能设计模块接口、过程,并能分析并解决小型软件项目中遇到的各种问题。”

(四)结构化设计(8学时)

(1)结构化设计与结构化分析的关系;

(2)模块化及模块独立性

(3)结构化设计启发式规则

(4)系统结构设计

(5)数据设计

(6)过程设计

(7)设计优化

(1)掌握结构化设计与结构化分析的关系

(2)理解结构化设计的概念和原理

(3)掌握模块独立

(4)掌握软件结构

(7)理解设计优化的方式和方法

重点:模块独立性、结构化中的内聚和耦合、软件结构、数据设计、过程设计。

难点:模块划分方法,数据流图到软件结构设计的转换方法等。

了解如何从行为角度来设计针对国家面临的问题的解决途径,并能够身体力行,感受作为社会主义建设者的自豪感!

本知识点的讲授和学习,可以支撑“课程目标2:理解结构化软件测试方法原理,能够应用黑盒测试,白盒测试方法测试软件”、“课程目标6:能够应用结构化分析、设计和实现的方法,结合项目需求提出目标系统可行的解决方案;能够分析软件模块独立性,能设计模块接口、过程,并能分析并解决小型软件项目中遇到的各种问题”和课程目标8:能够应用软件架构及软件设计模式的设计优化方法,能针对具体行业应用设计和优化软件体系结构。

(五)结构化实现(8学时)

(1)结构化实现与结构化设计的关系;

(2)模块化编码概念、结构化程序的源代码组成、结构化程序的文件组织、结构化模块集成

(3)结构化测试概念、结构化测试阶段、测试覆盖标准、结构化测试用例设计、结构化实施

(1)理解结构化实现与结构化设计的关系

(2)了解结构化编码的概念

(3)掌握结构化程序的源代码组成及文件组织

(4)掌握结构化模块集成方法

(5)了解结构化测试的概念、测试阶段划分、测试覆盖标准

(6)掌握结构化测试用例设计方法

(7)掌握结构化测试实施方法

重点:结构化实现方法、多文件组织、结构化集成、结构化测试用例设计方法。

难点:如何采用多文件来组织程序源代码,以及进行代码集成;如何设计符合要求的白盒、黑盒测试用例;

作业:将前期的软件设计内容转换为对应的程序代码,并为各个软件模块及软件设计测试用例。

了解国家在做各种规划设计后是如何付诸实施,并且检测各个规划的实现效果。理解我国从建国以来取得的辉煌成就来之不易!

本知识点的讲授和学习,可以支撑“课程目标2:理解结构化软件测试方法原理,能够应用黑盒测试,白盒测试方法测试软件”、“课程目标6:能够应用结构化分析、设计和实现的方法,结合项目需求提出目标系统可行的解决方案;能够分析软件模块独立性,能设计模块接口、过程,并能分析并解决小型软件项目中遇到的各种问题”和“课程目标9:理解软件团队合作方法,能应用配置管理工具进行团队开发”。

(六)统一建模语言(2学时)

(1)统一建模语言发展史

(2)UML中的图

(1)了解面向对象建模方法

(3)了解UML中的各种图的作用和使用方法

重点:用例图、活动图、类图、顺序图、对象图、通信图、部署图、包图

难点:掌握各种图的作用和使用方法

作业:了解UML的使用方法,了解如何借助UML进行面向对象建模。

课外学习要求:学习其他面向对象软件建模技术,掌握UML在面向对象软件开发过程中的应用。

了解当前国家各种规章制度的拟定形式,思考如何才能将各种惠民政策、方针通过有效的途径表达出来,确保各种信息能够被人民准确无误的理解。

本知识点的讲授和学习,可以支撑“课程目标7:能够应用面向对象的分析、设计和实现方法,结合项目需求提出目标系统可行的解决方案;能应用UML,对行业需求进行系统领域建模和划分”和“课程目标8:能够应用软件架构及软件设计模式的设计优化方法,能针对具体行业应用设计和优化软件体系结构”。

(七)面向对象分析(4学时)

(1)业务用例分析

(2)业务用例描述

(3)活动建模

(4)分析模型

(5)面向对象分析评审

(1)了解用例方法,掌握用例表示途径

(2)掌握活动建模方法

(3)掌握分析模型建模方法

(4)了解面向对象分析模型评审的途径和方法

重点:用例划分方法、对象建模、交互建模、主题划分等

作业:根据课程教学内容,思考如何将面向对象需求建模技术应用于实际项目中。

课外学习要求:能够学习和利用面向对象分析技术来完成项目需求分析。

了解面向的对象方法学软件开发中的应用,了解如何分析国家面临的问题,能够从实体角度对问题进行详细描述。

本知识点的讲授和学习,可以支撑“课程目标4:能够应用软件项目管理、软件风险管理的方法”和“课程目标7:能够应用面向对象的分析、设计和实现方法,结合项目需求提出目标系统可行的解决方案;能应用UML,对行业需求进行系统领域建模和划分”。

(八)面向对象设计(6学时)

(1)分析模型到设计模型的转换

(2)面向对象设计原则

(3)面向对象的模块独立性

(4)面向对象设计启发式规则

(5)设计模式

(6)面向对象架构设计

(7)软件构件设计

(8)部署设计

(1)理解分析模型如何转换为设计模型

(2)理解面型对象的设计原则

(3)理解面向对象的模块独立性

(4)了解面向对象设计启发式规则

(5)了解设计模式

(6)掌握面向对象架构设计方法

(7)掌握软件构件设计方法

重点:分析模型到设计模型的转换、面向对象的模块独立性、软件构架设计方法、软件构件设计方法

难点:由于学生缺少实际项目经验,如何帮助学生理解软件架构设计和软件构件设计是本章的难点。

作业:根据课程教学内容,将前期的面向对象分析模型转换为设计模型。

课外学习要求:能够采用UML各种图示工具来建模面向对象设计内容

了解如何从个人、组织等角度来思考、设计针对国家面临的问题的解决途径;并能结合身体力行,感受作为社会主义建设者的自豪感。

本知识点的讲授和学习,可以支撑“课程目标5:理解软件重用的方法和手段”、“课程目标7:能够应用面向对象的分析、设计和实现方法,结合项目需求提出目标系统可行的解决方案;能应用UML,对行业需求进行系统领域建模和划分和“课程目标8:能够应用软件架构及软件设计模式的设计优化方法,能针对具体行业应用设计和优化软件体系结构”。

(九)面向对象实现(6学时)

(1)面向对象编码

(2)面向对象业务实现

(3)面向对象测试

(4)面向对象测试用例设计

(1)理解面向对象实现中的文件组织

(2)掌握对象业务实现方法

(3)了解面向对象测试及测试阶段

(4)掌握面向对象测试用例设计方法

重点:面向对象业务实现,面向对象测试用例设计

课外学习要求:理解面向对象设计到面向对象实现的转换过程,明白面向对象测试的方法

了解如何从个人、组织等角度来思考、设计针对国家面临的问题的解决途径;并能结合身体力行,感受作为社会主义建设者的自豪感!

本知识点的讲授和学习,可以支撑“课程目标3:理解面向对象的软件测试方法原理,能够分析系统状态图及脚本,编写测试用例”、“课程目标7:能够应用面向对象的分析、设计和实现方法,结合项目需求提出目标系统可行的解决方案;能应用UML,对行业需求进行系统领域建模和划分”、“课程目标8:能够应用软件架构及软件设计模式的设计优化方法,能针对具体行业应用设计和优化软件体系结构”和“课程目标9:理解软件团队合作方法,能应用配置管理工具进行团队开发”。

(十)软件过程(2学时)

(1)软件过程概述

(2)瀑布模型

(3)演化模型

(4)快速原型法

(5)增量模型

(6)螺旋模型

(7)喷泉模型

(8)构件组装模型

(9)统一过程

(10)能力成熟度模型

(11)净室软件工程

(12)敏捷开发过程

(1)理解软件开发过程的作用

(2)理解瀑布模型

(3)了解演化模型

(4)理解快速原型法

(5)理解增量模型

(6)了解螺旋模型

(7)了解喷泉模型

(8)了解构件组装模型

(9)了解统一过程

(10)了解能力成熟度模型

(11)了解净室软件工程

(12)理解敏捷开发过程

重点:软件开发过程,瀑布模型,快速原型法、增量模型、螺旋模型、统一过程、敏捷开发过程

难点:讲解不同软件开发过程对软件开发的作用及效果,评估不同过程的设置原理

课外学习要求:结合所学知识来思考已经完成的软件项目开发过程,思考哪种过程更加适合于学校软件项目开发,以及各种软件过程适合的目标项目。

在项目分析过程中,可以通过类比方式引入国家在制定各类政策时针对不同情况采用的工作方式,例如采用敏捷研发思想来理解国家的五年规划;使用瀑布模型的流程来理解港珠澳大桥设计、建设过程;使用能力成熟度模型来理解国家对完成各项任务的组织进行资质和能力评估等。

本知识点的讲授和学习,可以支撑“课程目标1:理解软件、软件危机、软件工程的定义和内容,能够分析不同模型软件过程的优缺点,将软件开发过程应用于软件开发中”、“课程目标9:理解软件团队合作方法,能应用配置管理工具进行团队开发。”,和“课程目标10:具备自我评价能力和职业规划能力”和“课程目标10:具备自我评价能力和职业规划能力”。

(十一)软件项目管理(2学时)

(1)项目管理

(2)项目管理框架

(3)项目阶段管理

(1)了解项目管理的内容

(2)了解项目管理框架

(3)理解项目阶段管理各个阶段的内容

重点:软件项目管理,软件风险管理,软件配置管理

难点:软件项目的管理和实施,以及如何利用配置管理帮助项目开发

作业:根据课程教学内容,完善期末大作业,即软件开发项目。

课外学习要求:能够利用本章学习的知识内容,学习管理开发项目,并利用配置管理工具进行团队开发。

本知识点的讲授和学习,可以支撑“课程目标9:理解软件团队合作方法,能应用配置管理工具进行团队开发。”,和“课程目标10:具备自我评价能力和职业规划能力”和“课程目标10:具备自我评价能力和职业规划能力”。

(十二)腾讯敏捷软件开发(2学时)

(1)腾讯敏捷

(2)腾讯敏捷解决方案

(3)敏捷的核心应用

(1)了解腾讯敏捷的核心思想;

(2)了解腾讯敏捷解决方案的实质和精髓;

(3)了解敏捷核心应用的内在实质。

重点:敏捷研发思想、需求、迭代、测试、DevOps、缺陷等

难点:如何收集和撰写用户故事、迭代规划、DevOps

作业:使用腾讯敏捷研发平台组织软件项目开发。

课外学习要求:能够按照敏捷思想撰写用户需求,合理估计各个用户故事的任务量以及规划各次迭代。

引入项目管理知识点内容时,适时可以通过类比方式让学生通过项目组织管理的有效性来理解我国国家政体的合理性,让学生了解只有在中国共产党的领导下,才能有效带领中国走向复兴,才能让人民群众过上幸福的生活;同时,可以借助风险管理来让学生了解中国共产党、中国政府在和平时期的工作努力。通过在平时积累救援物资、战略储备物资等,让中国在98年大洪水、汶川地震、疫情期间打赢各场攻坚战中取得一次又一次的胜利。

本知识点的讲授和学习,可以支撑“课程目标1:理解软件、软件危机、软件工程的定义和内容,能够分析不同模型软件过程的优缺点,将软件开发过程应用于软件开发中”、“课程目标7:能够应用面向对象的分析、设计和实现方法,结合项目需求提出目标系统可行的解决方案;能应用UML,对行业需求进行系统领域建模和划分”和“课程目标9:理解软件团队合作方法,能应用配置管理工具进行团队开发”。

(十三)人机交互设计(2学时)

(1)人机交互

(2)交互模型和框架

(3)人机交互设计原则

(4)人机交互界面设计过程

(1)了解人机交互涵盖的内容;

(2)理解交互模型和框架的原理;

(3)了解人机交互设计的原则;

(4)掌握人机交互界面设计过程及各个阶段需要完成的任务。

重点:人机交互概念、交互模型和框架、人机交互设计原则、交互界面设计过程

难点:如何将用户需求转化为交互界面

作业:将前期的软件项目需求转换为人机交互界面,并对各个界面元素进行说明。

课外学习要求:能够使用软件原型设计工具来完成交互界面设计。

介绍中国政府实施的便民措施设置方式,分析国家如何将复杂的办事流程通过简明、便捷的方式呈现给人民群众,优化政府与人民之间的沟通途径,提高人民的幸福感和满意度。

本知识点的讲授和学习,可以支撑“课程目标4:能够应用软件项目管理、软件风险管理的方法”、“课程目标5:理解软件重用的方法和手段”、“课程目标9:理解软件团队合作方法,能应用配置管理工具进行团队开发”和“课程目标10:具备自我评价能力和职业规划能力”。

实验教学部分(18学时)

1.实验内容

(1)软件界面设计

(2)数据库建模

(3)模块过程设计

(4)配置管理及团队开发

(5)敏捷开发平台配置及使用

(6)敏捷需求,迭代,故事墙

(1)掌握软件需求分析、设计、实现与测试的基本方法和原则

(2)掌握软件项目管理的方法

重点:软需求分析、软件原型建立,软件设计实现。

难点:软件模块划分。

作业:完成所有实验。

课外学习要求:通过课外查找和阅读文档完成系统分析与设计。

本知识点的讲授和学习,可以支撑“课程目标1:理解软件、软件危机、软件工程的定义和内容,能够分析不同模型软件过程的优缺点,将软件开发过程应用于软件开发中”、“课程目标2:理解结构化软件测试方法原理,能够应用黑盒测试,白盒测试方法测试软件”、“课程目标3:理解面向对象的软件测试方法原理,能够分析系统状态图及脚本,编写测试用例”、“课程目标4:能够应用软件项目管理、软件风险管理的方法”、“课程目标5:理解软件重用的方法和手段”、“课程目标6:能够应用结构化分析、设计和实现的方法,结合项目需求提出目标系统可行的解决方案;能够分析软件模块独立性,能设计模块接口、过程,并能分析并解决小型软件项目中遇到的各种问题”、“课程目标7:能够应用面向对象的分析、设计和实现方法,结合项目需求提出目标系统可行的解决方案;能应用UML,对行业需求进行系统领域建模和划分”、“课程目标8:能够应用软件架构及软件设计模式的设计优化方法,能针对具体行业应用设计和优化软件体系结构”、“课程目标9:理解软件团队合作方法,能应用配置管理工具进行团队开发”。

7

课程教学进度安排

参考书籍

《软件工程(微课视频版)》

作者:杜文峰袁琳朱安民叶聪

定价:69.80元

扫码京东优惠购书

内容简介

全书共5篇、14章,涵盖软件工程领域涉及的主要内容。前四篇内容主要包括:软件的发展历程,软件的定义和特点,软件危机产生的原因,软件工程产生的背景以及软件生命周期中各阶段的工作;如何利用数据流图、状态转换图和数据字典等来建模用户需求,如何采用层次图、IPO图及程序流程图来设计软件,如何有效地将结构化设计结果转换为程序代码,对完成的软件进行测试;如何提取用户需求、分析用户活动、建模系统状态、提取类的候选者和类关系,对象之间如何交互来完成业务逻辑、如何实现面向对象设计结果,为以面向对象方法实现的软件设计测试用例;经典的软件开发过程、现代主流的软件开发过程以及项目开发过程中的管理实践。最后一篇讲解腾讯公司内部的敏捷开发流程和开发平台,以及结合领域驱动设计总结如何分析、设计和实现云原生软件系统。

本书配有1000分钟左右的MOOC视频、教学大纲、PPT课件、习题等丰富的教学资源。

THE END
1.《软件方法(上)》第一版题目答案51CTO博客1. 某城市目前工商、国税、地税、质监部门都有自己的系统,但相互信息不联通,经常出现漏管户和偷逃税情况。市政府打算开发一个基础信息交换系统。。。以下哪些用例属于“基础信息交换系统”的用例集? ? B) 2. 以下形状中,哪些是已完成的、正确的用例图可以出现的: A)https://blog.51cto.com/u_15684364/5650838
2.软工UML画图学生成绩管理系统用例图所以模块结构图中的调用是有箭头指向的 题目分析解法 高考录取统分子系统有如下功能: (1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件; (2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 看上面视频链接,数据流图已经画出来了。。(后面加个数据终点(->考生https://blog.csdn.net/qq_35629971/article/details/125531259
3.详细分析UML的10种图(全)行为图描述系统中各个组件或对象之间的动态行为展示了系统的活动流程、状态转换以及对象之间的交互行为图用于捕获系统在执行过程中的行为和控制流。 常见的行为图类型: 用例图(Use Case Diagram):展示系统的功能需求和用户与系统之间的交互 活动图(Activity Diagram):描述系统中各个活动之间的流程和控制流 状态图(https://www.ctyun.cn/zhishi/p-440337
4.项目设计(精选十篇)(1)熟悉AT89S51单片机系统的使用方法。 (2)掌握动态显示原理及实现方法。 (3)初步掌握AT89S51单片机编程方法。 (4)掌握串行数据传输方式的应用。 (5)实现利用AT89S51单片机控制的LED图文屏正常工作; 二、数字电压表系统设计 1.功能要求 简易数字电压表可以测量0~5V范围内的8路输入电压值,并在4位LED数码管上轮流显https://www.360wenmi.com/f/cnkey6h4pr3m.html
5.深途对智慧校园与智慧教室子系统功能应用的规划如下:- 完善教育功能模块:建设新课改教务体系,涵盖生涯选科、分班排课、学情分析、走班管理、教学评价等功能,提供优质教学资源平台与线上教学视频课程,辅助教师教学,促进学生个性化学习. - 建立大数据平台:实现数据全生命周期管理,提供信息化看板,进行招生、教学质量、学校运营等多方面的数据分析与决策,自动生成报告,支撑教https://zhuanlan.zhihu.com/p/10200137426
6.基于ssm框架的线上考试系统的设计与实现考生用例图如图3-1所示: 图3.1考生用例图 系统管理人员的主要功能有登录系统,进行考生管理、试卷管理、试题管理和成绩统计等相应的管理操作。 表3.2系统管理人员功能表 用户 功能 功能描述 用户管理 需要管理系统管理员的权限 学科管理 对学科进行分类,可以添加、修改、查询和删除学科 https://max.book118.com/html/2024/0529/8051012024006074.shtm
7.软件学习心得体会15篇此外,还对工资管理系统和固定资产管理 系统的相关操作进行了深入的学习。总之, 通过对用友软件的学习基本上掌握了财务软件的 操作流程及方法。②建立需求模型,它是用户需求的图解,一些常用的模型有:业务树图、用例图、活动图。分别用于结构化需求建模、系统业务举例和反映系统工作流程。③进行需求验证https://3g.yjbys.com/xuexi/xinde/2554926.html
8.VisualParadigm破解版设计和管理工具VisualParad这是系统过程的旧点,我们将它们放在那里以详细说明系统。 在1级DFD中创建三个流程 8、使用连接线连接数据流 本节中的其余步骤是关于连接图中的模型元素。例如,客户在下订单处理时提供订单信息。 将鼠标指针放在Customer上。拖出资源目录图标并在流程订单上释放鼠标按钮。 连接客户流程订单 从资源目录中选择数据流。http://www.sd173.com/soft/8267.html
9.线上暑期社会实践报告(精选5篇)线上暑期社会实践报告(精选5篇) 转眼间一个辛苦的实践活动又结束了,这段经历,相信你有很多感悟吧,让我们一起来学习写实践报告吧。应该怎么写才合适呢?以下是小编收集整理的线上暑期社会实践报告(精选5篇),仅供参考,大家一起来看看吧。 线上暑期社会实践报告1 https://www.unjs.com/fanwenwang/shehuishijianbaogao/20220722085641_5323552.html
10.实验综合布线设计方案6篇(全文)五、心得体会 通过本次实验,使我更好的掌握了网络拓扑结构的原理,并熟悉了综合布线方案设计方案图中图例的含义。能够利用VISIO软件进行绘制实验要求的拓扑及用例图等,获益匪浅。 实验综合布线设计方案 第2篇 1、项目背景 教育信息化程度高低已成为一个国家或地区教育现代化实力的重要标志,没有教育信息化就没有教育的https://www.99xueshu.com/w/file4u8pagmp.html
11.业务流程线上化的设计步骤提供将业务流程线上化的设计步骤,通过步骤的产出物向项目相关人员(客户和开发团队)清晰地表达你的设计。 设计步骤 1.绘制业务流程图 a. visio画跨职能活动图(活动图支持并行运行的情况) b.文字说明 业务流程说明 附:如何绘制业务流程图 2.流程优化 a.系统边界:哪些工作适合在线下做,哪些适合在线上做 https://www.jianshu.com/p/73ec427ab26b