软件工程导论(江西师范大学)
软件工程导论(江西师范大学)
5000+ 人选课
更新日期:2025/07/04
开课平台智慧树
开课高校江西师范大学
开课教师柯胜男龚俊王文乐戴莉萍
学科专业工学计算机类
开课时间2025/01/21 - 2025/07/20
课程周期26 周
开课状态开课中
每周学时-
课程简介
在互联网+时代,软件无处不在,改变了我们的生活方式和工作模式,提高生活质量和工作效率。我们每天使用软件网上冲浪、聊天社交、购物消费、游戏娱乐、办公自动化以及学习充电等等。而软件的设计、开发、维护和管理都是在软件工程的理论和方法的指导下开展的。那什么是软件工程呢?软件工程是把系统化的、规范的、可度量的途径应用于软件开发、运行和维护过程。《软件工程导论》课程是软件工程专业的主干课和学位课,同时也是计算机类专业、信息类专业的重要专业课。本课程也可作为软件、计算机领域从业人员开展软件设计开发、软件项目管理等工作的参考和借鉴。
课程大纲

在线教程

章节简介教学计划
软件的启蒙--软件工程概述
登录后可预览视频
软件危机
柯胜男
软件工程概述
柯胜男
软件生命周期
柯胜男
软件过程模型
软件过程模型
柯胜男
其他软件过程模型
柯胜男
软件开发的方法
柯胜男
软件的前生--项目前期
现状分析
组织分析
柯胜男
业务分析
柯胜男
可行性分析
柯胜男
软件的理解--需求分析
需求分析概述
龚俊
结构化需求分析建模
数据流图的定义和符号
龚俊
数据流图的绘制
龚俊
数据字典
龚俊
实体联系图
龚俊
状态转换图
龚俊
软件的设计—总体设计与详细设计
结构化总体设计概述
王文乐
面向数据流的设计
变换流分析
柯胜男
事务流分析
柯胜男
系统的数据库设计
柯胜男
界面设计
戴莉萍
详细设计的工具
图形工具
戴莉萍
表格工具
戴莉萍
语言工具
戴莉萍
详细设计方法
柯胜男
软件的开发方法--面向对象开发方法
面向对象的相关概念
柯胜男
UML概述
柯胜男
面向对象分析
面向对象分析的原则
王文乐
面向对象分析的过程
王文乐
功能模型的建模
王文乐
对象模型建模
王文乐
动态模型建模
王文乐
面向对象设计
面向对象设计概述
柯胜男
面向对象设计的基本任务
柯胜男
系统设计
柯胜男
对象设计
柯胜男
设计优化
柯胜男
设计模式
柯胜男
软件的构造—编程与实现
编程语言
龚俊
编程风格
龚俊
软件开发工具和环境
柯胜男
软件的保障—软件测试与维护
软件测试的基本概念
柯胜男
软件测试过程类型
柯胜男
软件测试过程
柯胜男
软件测试方法——白盒测试
逻辑覆盖
柯胜男
基本路径测试
柯胜男
软件测试方法——黑盒测试
等价类划分
柯胜男
边界值分析
柯胜男
面向对象的测试
柯胜男
软件调试
柯胜男
软件维护
软件维护的基本概念
戴莉萍
软件维护的过程
戴莉萍
软件的管理——软件项目管理
软件项目管理概述
龚俊
软件项目启动与组织管理
龚俊
软件项目过程管理
龚俊
软件项目风险管理
龚俊
软件项目配置管理
龚俊
  • 第一章软件的启蒙--软件工程概述

    介绍了软件工程的基本概念;软件危机与软件工程的产生于发展,软件生命周期,软件过程。对典型的软件过程模型进行了详细的介绍,包括瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型及RUP过程。最后本对结合过程模型对结构化开发方法、原型化开发方法和面向对象的开发方法,以及敏捷开发方法进行了简介。

  • 1.1软件危机

    主要介绍软件的发展历程、软件的定义、软件的特征及分类以及软件危机的基本概念。

  • 1.2软件工程概述

    主要介绍软件工程的基本概念、软件工程的本质特性、软件工程的基本原则以及软件工程方法学。

  • 1.3软件生命周期

    主要介绍软件生命周期的定义,软件生命周期的三个时期:包括软件定义时期、软件开发时期、软件维护时期。

  • 1.4软件过程模型

    主要介绍软件过程模型的定义,常用的软件过程模型:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、统一软件开发过程模型以及常用模型的比较。

  • 1.5软件开发的方法

    主要介绍面向过程的结构化开发方法、原型化开发方法、面向对象的开发方法及敏捷开发。

  • 第二章软件的前生--项目前期

    本章主要介绍软件项目前期的主要工作,包括组织分析、业务分析以及项目的可行性分析研究。重点掌握可行性研究的任务和过程。

  • 2.1现状分析

    主要介绍项目前期的主要工作,包括组织分析和业务分析。

  • 2.2可行性分析

    主要介绍可行性分析的目的、可行性分析的内容、可行性分析研究过程以及可行性分析研究报告。

  • 第三章软件的理解--需求分析

    本章主要介绍需求分析的任务;熟悉需求获取的方法;掌握绘制方法,能用图形工具进行需求分析,包括数据流图和数据字典、实体联系图、状态转换图等。

  • 3.1需求分析概述

    需求分析是软件生命周期的一个重要阶段。它不仅是今后软件开发的基本依据,同时也是今后用户对软件产品进行验收的基本依据。我们主要从以下几个方面进行介绍,需求分析的目的、需求分析的任务、需求分析的步骤等。

  • 3.2结构化需求分析建模

    主要介绍面向结构的需求分析建模,主要包括功能模型——数据流图;数据模型——实体联系图;行为模型——状态转换图。

  • 第四章软件的设计—总体设计与详细设计

    本章主要介绍软件的设计,包括总体设计与详细设计两个阶段。

  • 4.1结构化总体设计概述

    本节主要介绍总体设计的基本概念,总体设计的基本原则以及启发式规则。

  • 4.2面向数据流的设计

    主要介绍面向数据流的设计方法,包括变换流分析和事务流分析。

  • 4.3系统的数据库设计

    主要介绍数据库设计的步骤,主要包括概念结构设计、逻辑结构设计和物理结构设计。

  • 4.4界面设计

    主要介绍界面设计过程、界面设计问题以及界面设计指南。

  • 4.5详细设计的工具

    主要介绍详细设计的工具,包括图形工具、表格工具和语言工具。

  • 4.6详细设计方法

    主要介绍面向数据结构的设计方法——Jackson方法。

  • 第五章软件的开发方法--面向对象开发方法

    本章主要介绍面向对象的基本概念,UML的基本概念,面向对象的建模以及面向对象的分析与设计过程以及设计模式等。

  • 5.1面向对象的相关概念

    主要介绍面向对象的基本概念,包括类、实例、消息、封装、继承、多态等。

  • 5.2UML概述

    主要介绍UML的定义、UML的六种关系和五类图形。

  • 5.3面向对象分析

    主要介绍面向对象分析的原则、过程以及面向对象的分析建模。

  • 5.4面向对象设计

    主要介绍面向对象设计的基本概念和基本任务,包括系统设计、对象设计以及优化设计。

  • 5.5设计模式

    主要介绍设计模式的基本概念,然后以简单工厂为例介绍设计模式的应用。

  • 第六章软件的构造—编程与实现

    本章主要介绍常见的编程语言以及编程语言的选择;如何培养良好的编程风格和软件编程工具和环境。

  • 6.1编程语言

    主要介绍编程语言的分类、发展和选择。

  • 6.2编程风格

    主要介绍编程风格的定义、重要性以及编程规范。

  • 6.3软件开发工具和环境

    主要介绍编程工具和环境,并对两者进行了比较。

  • 第七章软件的保障—软件测试与维护

    本章主要介绍软件测试的定义、过程类型、步骤、测试方法以及软件维护的内容、特点、过程和方法。

  • 7.1软件测试的基本概念

    主要介绍软件测试的目的、定义、对象以及软件测试的原则。

  • 7.2软件测试过程类型

    主要介绍测试过程的类型,包括V模型、W模型、X模型和H模型。

  • 7.3软件测试过程

    主要介绍软件测试的过程,包括单元测试、集成测试、系统测试、验收测试以及回归测试。

  • 7.4软件测试方法——白盒测试

    主要介绍白盒测试方法,包括逻辑覆盖和基本路径测试法。

  • 7.5软件测试方法——黑盒测试

    主要介绍黑盒测试法,包括等价类划分、边界值分析法以及因果分析法。

  • 7.6面向对象的测试

    主要介绍面向对象的基本概念、面向对象测试的过程以及面向对象测试常用的方法。

  • 7.7软件调试

    主要介绍软件调试的过程和调试策略。

  • 7.8软件维护

    主要介绍软件维护的基本概念和维护过程。

  • 第八章软件的管理——软件项目管理

    本章主要介绍软件项目的管理、启动与组织、过程管理、风险管理和配置管理。使学生了解软件项目的整个管理过程。

  • 8.1软件项目管理概述

    主要介绍软件项目管理的概念、过程和主要内容。

  • 8.2软件项目启动与组织管理

    主要介绍软件项目的启动过程和组织管理。

  • 8.3软件项目过程管理

    主要介绍软件项目过程度量、过程改进以及项目度量。

  • 8.4软件项目风险管理

    主要介绍软件项目风险管理的概念以及风险管理过程。

  • 8.5软件项目配置管理

    主要介绍软件配置管理的概念、过程以及组织形式。

  • 开始学习
  • 第一章  作业测试
    第一章 软件的启蒙--软件工程概述

    1.1 软件危机

    1.2 软件工程概述

    1.3 软件生命周期

    1.4 软件过程模型

    1.5 软件开发的方法

    视频数6
  • 第二章  作业测试
    第二章 软件的前生--项目前期

    2.1 现状分析

    2.2 可行性分析

    视频数3
  • 第三章  作业测试
    第三章 软件的理解--需求分析

    3.1 需求分析概述

    3.2 结构化需求分析建模

    视频数6
  • 第四章  作业测试
    第四章 软件的设计—总体设计与详细设计

    4.1 结构化总体设计概述

    4.2 面向数据流的设计

    4.3 系统的数据库设计

    4.4 界面设计

    4.5 详细设计的工具

    4.6 详细设计方法

    视频数9
  • 第五章  作业测试
    第五章 软件的开发方法--面向对象开发方法

    5.1 面向对象的相关概念

    5.2 UML概述

    5.3 面向对象分析

    5.4 面向对象设计

    5.5 设计模式

    视频数13
  • 第六章  作业测试
    第六章 软件的构造—编程与实现

    6.1 编程语言

    6.2 编程风格

    6.3 软件开发工具和环境

    视频数3
  • 第七章  作业测试
    第七章 软件的保障—软件测试与维护

    7.1 软件测试的基本概念

    7.2 软件测试过程类型

    7.3 软件测试过程

    7.4 软件测试方法——白盒测试

    7.5 软件测试方法——黑盒测试

    7.6 面向对象的测试

    7.7 软件调试

    7.8 软件维护

    视频数11
  • 第八章  作业测试
    第八章 软件的管理——软件项目管理

    8.1 软件项目管理概述

    8.2 软件项目启动与组织管理

    8.3 软件项目过程管理

    8.4 软件项目风险管理

    8.5 软件项目配置管理

    视频数5
  • 期末考试