软件工程
分享
课程详情
课程评价
spContent=信息时代,软件为魂。软件和其他产品一样,要经历管理、设计、加工和维修等过程。软件是抽象的,如何开发出成本、进度可控、高质量的软件呢?欢迎来到《软件工程》课程寻找答案。该课程面向高等院校计算机类/信息类及相关专业开设,也可供有一定经验的IT从业人员参考。零基础,也能学习本课程!
—— 课程团队
课程概述

 

    平顶山学院“软件工程”课程,2010年被评选为河南省精品课程,2014年被评选为河南省精品资源共享课程。多年来,该课程教学团队积极探索互联网+时代的课程建设,利用现代化的教学理念和技术手段,对课程内容、课程网站进行了全方位的建设和多项课程教学改革,取得了丰硕的改革成果。

    课程内容由3个模块、12个知识单元、两个实践项目专题构成,见图1。软件工程概述模块主要讲授软件危机、软件工程以及软件过程等相关概念。软件开发方法模块主要讲授常见的结构化方法与面向对象方法。软件项目管理模块主要通过计划、组织和控制等一系列活动,合理配置和使用各种资源。软件开发方法模块依照“软件开发过程+实践项目专题—案例—任务”的形式组织内容。每种软件开发方法按软件开发过程组织知识单元,分别设置一个实践项目专题与知识单元链接。每个项目专题将企业实际软件项目分解为几个案例,每个案例又分解为若干任务与知识单元呼应,可帮助学习者在短时间内,更加系统完整地掌握软件开发的基本过程和应完成的任务。

        

  课程模块间独立性强,学习者可以根据需要灵活选择学习内容。课程内容丰富、新颖,主讲教师以情景设置、问题驱动、案例分析等多种方式组织教学,培养学生使用工程化的方法高效地开发高质量软件以及进行项目管理的能力。本课程的学习为学习者成长为系统分析师、系统架构师、软件设计师、软件测试师和项目管理人员奠定基础。


授课目标

1.教授以软件工程的发展、主要方法、常用工具的使用为主线 2.分析问题和解决问题的能力和团队工作交流能力 3.运用软件工程的概念、原理、技术和方法开发与维护软件的能力 4.对软件开发领域常见的职业要求、团队合作精神进行培养与灌输 5.对软件管理过程中常见的问题能够予以准确判断,明确解决思路

课程大纲

第1周

◎软件生命周期

第1章 软件工程概述

◎软件过程

◎软件工程的概念

软件工程概述--单元测试题

第2周

可行性分析--单元测试题

◎可行性分析任务与过程

第3章 需求分析

结构化方法项目专题

第2章 可行性分析

◎获取用户需求的方法

◎需求分析要求

◎成本效益分析

第3周

◎数据字典

第3章 需求分析

◎实体联系图

◎数据流图

需求分析--单元作业

需求分析---单元测试题

第4周

◎模块化

第4章 总体设计

◎描述软件结构的图形工具

总体设计--单元作业

◎抽象与信息隐藏

◎模块独立

◎概要设计过程

总体设计--单元测试题

第5周

详细设计--单元测试题

◎过程设计语言

第5章 详细设计

◎结构化程序

◎界面程序设计

◎过程设计工具

详细设计--单元作业

第6周

◎软件测试方法

◎编码

第6章 实现

◎软件测试的基本概念

◎测试用例概述

◎软件测试过程

第7周

◎黑盒测试

◎白盒测试

第6章 实现

第6章 实现--单元作业

第6章 实现--单元测试

第8周

◎UML相关知识

◎面向对象建模

第7章 维护

第8章 面向对象方法学与UML

◎面向对象的概念

◎面向对象方法学项目专题

◎软件维护

单元测试题

第9周

◎对象模型

第8章 面向对象方法学与UML

◎动态模型

◎功能模型

◎三种模型间的关系

面向对象方法学与UML--单元测试

面向对象方法学与UML--单元作业

第10周

第9章 面向对象分析

◎面向对象分析的基本过程

◎建立对象模型

第11周

◎建立动态模型

第9章 面向对象分析

第12周

第10章 面向对象设计

第9章 面向对象分析

◎面向对象设计的准则

◎建立功能模型

面向对象设计--单元测试

面向对象分析--单元作业

面向对象分析--单元测试

面向对象设计--单元作业

第13周

◎设计关联和设计优化

第10章 面向对象设计

◎子系统设计

◎软件重用和系统分解

面向对象设计--单元作业

面向对象设计--单元测试

第14周

◎面向对象程序设计语言

◎面向对象测试

第11章 面向对象实现

面向对象实现--单元测试

第15周

◎质量保证

◎软件配置管理

◎软件项目管理概述

第12章 软件项目管理

◎估算软件

◎人员组织和进度计划

软件项目管理--单元测试

软件项目管理--单元作业

预备知识

只要具备程序设计基础知识。

证书要求

通过视频学习,完成单元测试和作业,达到课程要求后,可以获得课程主讲教师签名颁发的合格证书。

本课程设置合格(60~84分)和优秀(85~100分)两档成绩
总分(百分制)=单元测试30分+单元作业20分+考试35分+讨论15分


参考资料


1.张海藩(2013),《软件工程导论》,第六版,清华大学出版社。

2.张海藩(2015),《软件工程导论》(第六版)学习辅导,清华大学出版社。  

3.张海藩 等(2015),《实用软件工程》,第一版,人民邮电出版社。

4.邓迎春 等译 (2013),《软件工程——面向对象和传统的方法学》,机械工业出版社。

5.王卫红 (2015),《软件工程实践教程》,机械工业出版社。

6.彭鑫 等译(2012),《需求工程》,机械工业出版社。

7.冀振燕 (2014),《UML系统分析与设计教程》,人民邮电出版社。




常见问题

1、我以前接触计算机很少,学这门课会有困难吗?

  作为计算机类、信息类及相关专业的专业基础课程,我们没有具体的先修课程,但希望有一定的程序设计基础,比如程序中数据的定义及流程控制等。因为本课程的课内教学不涉及这些内容,但课程中和程序设计相关的内容不多,必要时可以自学。所以,零基础也能学习该课程。

2、每周会发布多少时间的视频?我需要花多少时间来学习?

我们每周按照100分钟的授课时间来设计课程。因考虑到线下上课和一些简单的知识点大家自学就会,所以发布的单元视频一般在30-60分钟左右。但是我们设计课程一般需要1:1.51:2的课后学习时间,这包括预习、作业、练习和复习的时间,所以每周大约需要花费三到五小时的时间。

3我需要安装特定的软件才能做这门课的作业吗?

  课程第2-7单元为结构化开发方法,完成该模块作业建议下载Microsoft Office Visio软件进行建模。课程第8-11单元为面向对象开发方法,完成该模块作业,建议下载可视化建模工具Rose Rational Rose进行建模。课程第12单元为项目管理,完成该模块作业建议下载项目管理软件Microsoft Project 进行制定项目计划、为任务分配资源、跟踪进度、管理预算和分析工作量等。当然也可下载其他软件,完成本课程的作业。