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

 

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

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

        

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


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

1.软件工程概述

1)软件危机的含义和原因;

2)消除软件危机的途径;

3)软件的特点;

4)软件工程诞生的必然性及软件工程的基本原理;

5)软件生命周期各阶段的基本任务。

2.可行性研究

1)可行性研究的任务与步骤;

2)成本/效益分析。

3.需求分析

1)需求分析的任务,步骤,获取需求的方式;

2)数据流图的符号使用和绘制方法;

3)数据字典的作用与编写方法。

4E-R图的作用和绘制方法;

4.总体设计

1)总体设计的基本内容;

2)总体设计应遵循的准则;

3)软件设计过程和原理;

4)软件设计的规则和相关的图形工具的应用;

5)软件工程总体设计案例。

5.详细设计

1)结构程序设计;

2)用户界面设计;

3)详细设计的基本内容;

4)程序复杂度的定量度量;

5)软件工程详细设计案例。

6.实现

1)编码;

2)软件测试的基本概念;

3)测试用例概述;

4)软件测试过程;

5)软件测试方法;

6)白盒测试;

7)黑盒测试

7.软件维护

1)软件可维护性的定义和特点;

2)软件维护过程;

3)影响软件可维护性的因素;

4)软件维护案例。

8.面向对象方法学引论

1)面向对象的基本概念;

2)面向对象分析的基本过程;

3)建立对象模型的基本方法;

4)建立动态模型的基本方法;

5)建立功能模型的基本方法。

9.面向对象分析

1)面向对象分析的基本过程;

2)建立对象模型(类图)

3)建立动态模型(时间跟踪图、状态图)

4)建立功能模型

10.面向对象设计

1)面向对象设计的准则;

2)软件重用和系统分解;

3)子系统设计;

4)设计关联和设计优化。

11.面向对象实现

1)面向对象程序设计语言;

2)面向对象测试;

12.软件项目管理

1)软件项目管理概述;

2)估算软件;

3)人员组织和进度安排

4)质量保证

5)软件配置管理

预备知识

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

证书要求

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

本课程设置合格(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 进行制定项目计划、为任务分配资源、跟踪进度、管理预算和分析工作量等。当然也可下载其他软件,完成本课程的作业。