李海良
  • 李海良中山大学工学博士,暨南大学副教授
  • 擅长领域: 人工智能 大数据 信息安全 物联网
  • 讲师报价: 面议
  • 常驻城市:广州市
  • 学员评价: 暂无评价 发表评价
  • 助理电话: 18264192900 QQ:2703315151 微信扫码加我好友
  • 在线咨询

软件工程设计

主讲老师:李海良
发布时间:2024-04-30 16:23:54
课程领域:通用管理 其他
课程详情:

总学时数:  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、基本要求:结构程序设计的概念,人机界面设计,常用的详细设计工具使用方法,Jackson程序设计方法,程序复杂程序的定量度量。

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年

其他课程

人工智能
AI人工智能
一、课程介绍人工智能是现代科技领域的热点之一,本课程旨在介绍人工智能的基本理论、应用领域以及相关技术。通过本课程的学习,学生将了解人工智能的概念、发展历程以及未来发展趋势,掌握人工智能的基本原理和各种算法模型,并学会应用人工智能技术解决实际问题。二、课程目标1. 理解人工智能的基本概念和原理;2. 熟悉人工智能的发展历程和应用领域;3. 掌握人工智能算法和模型的基本原理;4. 学会使用常见的人工智
软件工程设计
其他
总学时数:  60学时,其中:理论教学 30学时,实践教学 30  学时学分:先修课程:《计算机基础》,《C语言程序设计》,《数据结构》和《数据库原理及其应用》考核方式:考试一、制订大纲的依据本大纲根据2020年计算机应用技术专业教学计划制订二、课程简介软件工程作为一门专业主干课,重点要求学生学习与软件开发和维护有关的四个方面的主要内容——过程与模型、方法与技术、工具与环境、标
授课见证
推荐讲师

马成功

Office超级实战派讲师,国内IPO排版第一人

讲师课酬: 面议

常驻城市:北京市

学员评价:

贾倩

注册形象设计师,国家二级企业培训师,国家二级人力资源管理师

讲师课酬: 面议

常驻城市:深圳市

学员评价:

郑惠芳

人力资源专家

讲师课酬: 面议

常驻城市:上海市

学员评价:

晏世乐

资深培训师,职业演说家,专业咨询顾问

讲师课酬: 面议

常驻城市:深圳市

学员评价:

文小林

实战人才培养应用专家

讲师课酬: 面议

常驻城市:深圳市

学员评价: