软件工程设计

  培训讲师:李海良

讲师背景:
李海良老师暨南大学副教授,硕士生导师,九三学社社员,中山大学工学博士香港城市大学访问学者广东工业大学校外合作研究生导师研究方向为深度学习、图像识别、智慧综合能源和能源大数据简介l2018年获得中山大学工学博士学位,2019年至2021年在暨 详细>>

李海良
    课程咨询电话:

软件工程设计详细内容

软件工程设计

《软件工程设计》课程教学大纲
总学时数: 60学时,其中:理论教学 30学时,实践教学 30 学时
学分:
先修课程:《计算机基础》,《C语言程序设计》,《数据结构》和《数据库原理及其应用》

考核方式:考试


一、制订大纲的依据
本大纲根据2020年计算机应用技术专业教学计划制订


二、课程简介
软件工程作为一门专业主干课,重点要求学生学习与软件开发和维护有关的四个方
面的主要内容——过程与模型、方法与技术、工具与环境、标准与规范。进而通过课程实
践培养学生运用软件工程基本原理解决实际问题,并从事复杂软件项目开发和维护的实
践应用能力与创新能力,努力成为当今信息社会和知识经济时代所需要的高素质计算机
专业人才。


三、课程性质、教育目标
(一)性质:本课程是计算机软件专业的专业主干课。通过本课程的学习,使学生初
步建立工程化意识,学会用工程化思想(包括技术、方法与环境)开发各种软件,以软
件的生命周期作为主线,掌握软件工程的基本理论,进一步系统化、工程化,为今后实
际工程中能够进行系统分析与设计奠定良好的基础。
(二)教育目标:
通过本课程的教学,应使学生达到以下要求:
1.熟练掌握软件与软件工程基本概念和基本知识。
2.熟练掌握生存周期与软件开发模式。
3.掌握结构化程序设计的编程思想。
4.掌握面向对象分析、设计与编码方法。
5.掌握有关软件的评审、测试与维护,项目计划与项目管理方法。
6. 能用软件工程的方法参与软件项目的分析、设计、实现和维护。


四、课程教学内容与基本要求(课程教学内容、重难点、基本要求、教法说明)
《软件工程》的教学分为理论教学和实验教学两个环节,本部分为理论教学大纲。
第1章、软件工程学概述
1、课程教学内容:
1) 软件危机
2) 软件工程
3) 软件生命周期
4) 软件过程。
2、基本要求:产生软件危机的原因及解决途径,软件工程的基本原理,软件工程方法学
,软件生命周期中各阶段的基本任务,软件过程模型。
3、重点:软件工程的基本原理,软件生命周期中各阶段的基本任务。
4、难点:各类软件过程模型的特点及适用范围。
5、教法说明:通过一些具体的软件危机事例来充分说明软件工程的重要性,使学生对本
课程产生浓厚的兴趣。
第2章、可行性研究
1、课程教学内容:
1) 可行性研究的任务
2) 可行性研究过程
3) 系统流程图
4) 数据流图
5) 数据字典
6) 成本/效益分析。
2、基本要求:可行性研究的任务,系统流程图、数据流图和数据字典的画法,成本/效
益分析的方法。
3、重点:系统流程图、数据流图和数据字典的画法。
4、难点:数据流图和数据字典的画法。
5、教法说明:可用学生比较熟悉的系统来讲解数据流图和数据字典的建立,以合适的项
目为分析对象,要求学生建立起数据流图,作为课后作业,并对学生作业进行分析和讨
论。
第3章、需求分析
1、课程教学内容:
1) 需求分析的任务
2) 与用户沟通获取需求的方法
3) 分析建模与规格说明
4) 实体—联系图
5) 数据规范化
6) 状态转换图
7) 其他图形工具
8) 验证软件需求。
2、基本要求:分析建模、规格说明和数据的规范化,实体-
联系图、状态转换图和常用图形工具的使用方法,验证软件需求的方法。
3、重点:实体-联系图、状态转换图和常用图形工具的使用方法。
4、难点:状态转换图等常用图形工具的使用方法。
5、教法说明:可提供一份具体需求分析报告供学生分析和学习。
第4章、形式化说明技术
1、课程教学内容:
1) 形式化说明技术概述
2) 有穷状态机
3) Petri网
4) Z语言。
2、基本要求:形式化方法的优缺点,有穷状态机、Petri网和Z语言三种典型的形式化方
法,应用形式化方法的准则。
3、重点:形式化方法的优缺点,应用形式化方法的准则。
4、难点:有穷状态机、Petri网和Z语言三种典型的形式化方法。
5、教法说明:本章只要求学生简单了解形式化说明技术的重要性,对几种技术的详细内
容不做要求,老师了根据个人兴趣让学生自行安排。
第5章、总体设计
1、课程教学内容:
1) 设计过程
2) 设计原理
3) 启发规则
4) 描绘软件结构的图形工具
5) 面向数据流的设计方法。
2、基本要求:总体设计的过程,软件设计的概念和原理、启发式规则,常用图形工具的
使用方法,面向数据流的设计方法。
3、重点:软件设计的概念和原理、启发式规则,面向数据流的设计方法。
4、难点:面向数据流的设计方法。
5、教法说明:本章内容非常重要,可让学生用第三章的需求分析实例进行总体设计。
第6章、详细设计
1、课程教学内容:
1) 结构程序设计
2) 人机界面设计
3) 过程设计的工具
4) 面向数据结构的设计方法
5) 程序复杂程度的定量度量。
2、基本要求:结构程序设计的概念,人机界面设计,常用的详细设计工具使用方法,J
ackson程序设计方法,程序复杂程序的定量度量。
3、重点:常用的详细设计工具,包括流程图、盒图、PAD图、判定树和判定表的使用方
法,Jackson程序设计方法以及程序复杂性定量度量方法McCabe基本思路。
4、难点:Jackson程序设计方法以及程序复杂性定量度量McCabe的方法。
5、教法说明:讲解人机界面设计中,可向学生展示不同系统的多种界面;Jackson方法
也结合实例进行讲解。
第7章、实现
1、课程教学内容:
1) 编码
2) 软件测试基础,
3) 单元测试
4) 集成测试
5) 确认测试
6) 白盒测试技术
7) 黑盒测试技术
8) 调试
9) 软件可靠性。
2、基本要求:软件测试的有关的基本概念和步骤,单元测试、集成测试和确认测试的方
法,白盒测试和黑盒测试技术,软件调试技术和软件可靠性估算方法。
3、重点:单元测试、集成测试和确认测试的方法,白盒测试和黑盒测试技术。
4、难点:白盒测试和黑盒测试技术的测试用例设计。
5、教法说明:介绍一些与软件测试技术相关的背景知识,特别是涉及到的一些数学知识

第8章、维护
1、课程教学内容:软件维护的定义,软件维护的特点,软件维护过程,软件的可维护性
,预防性维护,软件再工程过程。
2、基本要求:软件维护的定义、特点及软件再工程过程,软件维护的过程,软件可维护
性的概念以及决定软件可维护性的因素。
3、重点:软件维护的过程,软件的可维护性。
4、难点:软件维护的过程。
5、教法说明:应用实例来说明软件维护的重要性,并与学生讨论。
第9章、面向对象方法学引论
1、课程教学内容:
1) 面向对象方法学概述
2) 面向对象的概念
3) 面向对象建模
4) 对象模型
5) 动态模型
6) 功能模型
7) 3种模型之间的关系。
2、基本要求:面向对象方法学要点、优点、喷泉模型,面向对象的基本概念,对象模型
,动态模型,功能模型。
3、重点:对象模型,功能模型。
4、难点:三种模型的功能和关系。
5、教法说明:将结构化分析的案例和习题改用面向对象方法进行分析,让学生对这两种
方法进行对比。
第10章、面向对象分析
1、课程教学内容:
1) 面向对象分析的基本过程
2) 需求陈述
3) 建立对象模型
4) 建立动态模型
5) 建立功能模型
6) 定义服务。
2、基本要求:面向对象分析的基本过程,需求陈述,建立对象模型、功能模型和动态模
型。
3、重点:建立对象模型、功能模型和动态模型的方法。
4、难点:动态模型的建立。
5、教法说明:要求学生结合具体案例,完成一个综合作业,以熟悉面向对象分析的思想

第11章、面向对象设计
1、课程教学内容:
1) 面向对象设计的准则
2) 启发规则
3) 软件重用
4) 系统分解
5) 设计问题子系统
6) 设计人机交互子系统
7) 设计任务管理子系统
8) 设计数据管理子系统
9) 设计类中的服务
10) 设计关联
11) 设计优化
2、基本要求:面向对象设计准则,软件重用的基本思想,问题域、人机交互、任务管理
和数据管理的设计策略。
3、重点:面向对象设计准则,软件重用的基本思想。
4、难点:设计优化。
5、教法说明:注意将面向对象设计准则和启发规则与结构化方法进行比较。
12. 面向对象实现
1、课程教学内容:
1) 程序设计语言
2) 程序设计风格
3) 测试策略
4) 设计测试用例
2、基本要求:面向对象语言的优点和技术特点,面向对象程序设计遵循的新准则。
3、重点:面向对象程序设计语言的特点。
4、难点:测试策略。
5、教法说明:与结构化方法进行比较。
13. 软件项目管理
1、课程教学内容:
1) 估算软件规模
2) 工作量估算
3) 进度计划
4) 人员组织
5) 质量保证
6) 软件配置管理。
2、基本要求:人员组织和能力成熟度模型,软件规模和工作量的估算方法,进度计划和
质量保证技术。
3、重点:软件规模和工作量的估算方法,软件配置管理过程。
4、难点:软件规模和工作量的估算方法及其对CMM的深刻理解。
5、教法说明:结合具体案例进行讲述,并在课堂上进行讨论。

五、学时(理论和实践)分配表
|序号|教学内容 |课时分配 |
| | |理论教学 |实践教学 |考核权重 |
|1 |软件工程学概述 |6 |0 |10 |
|2 |可行性研究 |4 |1 |5 |
|3 |需求分析 |4 |2 |15 |
|4 |形式化说明技术 |5 |2 |15 |
|5 |总体设计 |6 |4 |10 |
|6 |详细设计 |6 |4 |10 |
|7 |实现 |6 |4 |15 |
|8 |维护 |6 | |5 |
|9 |面向对象方法学引论 |1 | |2 |
|10 |面向对象分析 |1 | |2 |
|11 |面向对象设计 |1 | |2 |
|12 |面向对象实现 |1 | |2 |
|13 |软件项目管理 |4 | |7 |


六、学习教学场地、设施要求(课程中的实践部分)
|序号 |项目(实验)名称 |学习教学场地、设|
| | |施要求 |
|1 |项目立项和可行性分析 |教室 |
|2 |需求分析与建模 | |
|3 |总体设计与详细设计 | |
|4 |程序设计语言的选择和编程 | |
|5 |测试 | |
|6 |项目管理 | |



七、考核及评分办法
本课程拟采取结构评分方式,总成绩=平时成绩 + 期末考试成绩。
平时成绩=作业成绩+实验成绩;平时成绩占总成绩的30%,其中作业成绩占总成绩的
10%,实验成绩占总成绩的20%,期末考试根据教学大纲统一命题,占总成绩的70%。


八、学习资源的选用
建议教材
张海藩,软件工程导论(第六版),清华出版社,2018.2
教学参考书
1 蔡敏等,UML基础和Rose建模教程,人民邮电出版社,2016年
2 李芷,软件工程方法与实践,电子工业出版社,2014年
3 郑人杰,实用软件工程(第二版),清华大学出版社,2007年






 

李海良老师的其它课程

《大数据技术及应用》课程教学大纲一、课程基本信息课程名称大数据技术及应用(英文名称)BigdatatechnologyandApplication课程学时理论8小时,实验4小时授课方式多媒体+实践考核方式实践考试+课程论文开课单位先修课程C语言程序设计;Java程序设计;数据结构;Linux操作系统;后续课程大数据算法;适用专业数据科学与大数据技术、人工智能

 讲师:李海良详情


大语言模型开发与训练培训大纲第一天:基础知识与初步实践上午:理论基础与工具准备1.欢迎与介绍培训目标和内容概述参与者自我介绍与期望2.大语言模型概述2.1什么是大语言模型(LLM)定义与基本概念介绍Transformer架构及其在自然语言处理中的重要性2.2LLM的应用场景和优势介绍LLM在文本生成、翻译、问答系统、文本摘要等方面的应用主要的LLM架构GPT

 讲师:李海良详情


ZQBKAHoAdABYAGUAOQB2AEUAMgBVAGMAdgAyAHUANwA5AHYAbwBNAEEAegBhAFMAawBFAFoARAA2AFIAeAAwAHAAUwAyADMARABqAEoAUwBqAEgARQBiAEkAVQBBAGkAVwBiAFoASgBvAHMAdABpAGIAdQAwAEQAcQAzAFIAMwB5AC8AVQBx

 讲师:李海良详情


ZQBKAHoAdABYAGUAOQB2AEUAMgBVAGMAdgAyAHUANwA5AHYAbwBNAEEAegBhAFMAawBFAFoARAA2AFIAeAAwAHAAUwAyADMARABqAEoAUwBqAEgARQBiAEkAVQBBAGkAVwBiAFoASgBvAHMAdABpAGIAdQAwAEQAcQAzAFIAMwB5AC8AVQBx

 讲师:李海良详情


人工智能   08.29

人工智能课程大纲人工智能课程大纲一、课程介绍人工智能是现代科技领域的热点之一,本课程旨在介绍人工智能的基本理论、应用领域以及相关技术。通过本课程的学习,学生将了解人工智能的概念、发展历程以及未来发展趋势,掌握人工智能的基本原理和各种算法模型,并学会应用人工智能技术解决实际问题。二、课程目标1.理解人工智能的基本概念和原理;2.熟悉人工智能的发展历程和应用领域

 讲师:李海良详情


人工智能基础理论主题:机器学习,深度学习,大模型,多模态1.机器学习基础1.1机器学习的基本概念机器学习的定义与重要性数据驱动的方法与传统编程的区别1.2常见的机器学习算法及其应用场景线性回归:用于预测连续值逻辑回归:用于二分类问题决策树与随机森林:用于分类和回归支持向量机(SVM):用于分类问题2.深度学习基础2.1深度学习的基本原理人工神经网络的结构与工

 讲师:李海良详情


人工智能培训   08.29

第一天:人工智能基础理论主题:机器学习,深度学习,大模型,多模态1.机器学习基础1.1机器学习的基本概念机器学习的定义与重要性数据驱动的方法与传统编程的区别1.2常见的机器学习算法及其应用场景线性回归:用于预测连续值逻辑回归:用于二分类问题决策树与随机森林:用于分类和回归支持向量机(SVM):用于分类问题2.深度学习基础2.1深度学习的基本原理人工神经网络的

 讲师:李海良详情


网络安全渗透测试培训大纲---培训目标:本培训旨在通过五天的学习,使学员全面掌握网络安全渗透测试的理论知识与实践技能。培训将理论与实践相结合,确保学员能够在理解渗透测试原理的基础上,熟练运用各种工具和技术进行实际操作。通过培训,学员将能够独立完成渗透测试项目,提升网络安全防护与应急响应能力。---第一天:渗透测试基础与理论上午-网络安全概述-网络安全的重要性

 讲师:李海良详情


业务数字化方法论课程背景:一方面,随着信息化的深入,在传统IT建设方式下,企业独立采购或者自建的各种企业信息系统,在内部数据无法互通,难以配合业务数字化的快速发展;另一方面,云服务的出现,让硬件基础设施转向成数据云策略,让IT架构更灵活,但这也让互联互通困扰企业发展。数据中台和业务中台是企业数字化转型的必然产物。中台架构作为整个企业各个业务所需数据服务的提供

 讲师:李海良详情


深度学习框架技术培训课程大纲第一天:深度学习基础与框架概述上午:深度学习入门深度学习历史与基本原理神经网络基础:感知机、多层前馈网络激活函数与损失函数介绍反向传播算法原理深度学习框架重要性为什么需要深度学习框架主流深度学习框架概览(TensorFlow,PyTorch,Keras,MXNet等)框架选择考量因素下午:TensorFlow框架基础TensorF

 讲师:李海良详情


COPYRIGT @ 2001-2018 HTTP://WWW.QG68.CN INC. ALL RIGHTS RESERVED. 管理资源网 版权所有