软件工程
分享
课程详情
课程评价
spContent=《软件工程》是软件工程专业的主干课,同时也是计算机类专业、信息类专业的重要专业课。本课程也可作为软件、计算机领域的从业人员的设计开发、项目管理等工作参考和借鉴。 本课程介绍面向对象软件工程的基本概念、原理、方法和工具,通过实例来讲解面向对象软件开发的整个过程。本慕课资料均为双语。
—— 课程团队
课程概述

通过学习本课程,使学生了解和掌握软件工程的基本概念和知识,包括软件工程的范畴、软件过程、软件生命周期模型、软件需求、面向对象分析、面向对象设计、实现与集成、维护、测试。要求学生能够掌握和运用面向对象软件工程的理论和方法,分析设计软件项目。具体主要包括:掌握软件工程专业工程基础理论知识和专业知识,且能将其应用于解决相关问题;运用用例图、类图、时序图等面向对象软件工程分析和设计的方法描述目标软件的规格说明和设计;掌握软件生命周期要素,了解多种软件生命周期模型,了解软件项目管理、软件团队及软件复用的基本概念和方法。

为了满足和方便广大同学的各种学习需要,本慕课中的课件、测试题、论坛等均为双语、即中英文。

课程大纲

第一章 引言

1.1 软件的概念

1.2 软件危机与软件工程

1.3 软件工程职业道德和从业规范

第一章 单元测试

2、举一些你经历过、或听说过的案例来说明或阐述你对软件伦理的理解或思考。

1、请举例来说明软件的某一个或某几个特点。

2.2 举一些你经历过、或听说过的案例来说明或阐述你对软件伦理、或某一条或某几条软件工程道德与从业规范的理解或思考。

1.2 请举例来说明软件的某一个或某几个特点

第二章 软件过程

2.1 软件过程

2.2 软件测试

第二章 单元测试

3、你测试过软件吗,或者你现在就可以着手测试一个软件系统。你将重点测试它的哪些方面,为什么。

3-2、你测试过软件吗,或者你现在就可以着手测试一个软件系统。你将重点测试它的哪些方面,为什么。

3-3 你测试过软件吗,或者你现在就可以着手测试一个软件系统。你将重点测试它的哪些方面,为什么。

第三章 软件需求

3.1 什么是需求

3.2 获取需求

3.3 快速原型

3.4 需求案例

第三章 单元测试

4、选择一个你拟开发的软件系统,如网上商店、图书管理系统等,然后对你的目标系统做出快速原型。上传你的原型系统的界面。

4-2、选择一个你拟开发的软件系统,如网上商店、图书管理系统等,然后对你的目标系统做出快速原型。上传你的原型系统的界面。

4-3、选择一个你拟开发的软件系统,如网上商店、图书管理系统等,然后对你的目标系统做出快速原型。上传你的原型系统的界面。

4-4、选择一个你拟开发的软件系统,如网上商店、图书管理系统等,然后对你的目标系统做出快速原型。上传你的原型系统的界面。

第四章 面向对象范型

4.1 内聚

4.2 耦合

4.3 数据封装与信息隐藏

4.4 类的继承

4.5 类的聚合

4.6 类的关联

4.7 多态与动态绑定

4.8 OO范型

4.9 UML

第四章 单元测试

5、请分别针对类的继承关系、聚合/组合关系、和关联关系举2个例子,并加以说明。如果画出了类图,请上传类图。

5-1、请分别针对类的继承关系、聚合/组合关系、和关联关系举2个例子,并加以说明。如果画出了类图,请上传类图。

第五章 面向对象分析

5.1 用例建模

5.2 用例图

5.3 类建模

5.4 动态建模

5.5 测试OOA

第五章 单元测试

6、上传你拟开发的目标系统用例图。

7、上传你拟开发的目标系统的类图。

6-1、上传你拟开发的目标系统用例图

6-2、上传你拟开发的目标系统用例图

7-1、上传你拟开发的目标系统的分析阶段的初始类图

第六章 面向对象设计

6.1 软件系统设计

6.2 面向对象设计

第六章 单元测试

第七章 实现与集成

7.1 编程语言

7.2 良好的编程习惯

7.3 实现与集成

第七章 单元测试

8、请尽量列举出你学过、或用过或知道的编程语言,你认为哪种语言最好,为什么?

第八章 维护

8.1 维护的必要性

8.2 对维护人员的要求

第八章 单元测试

9、请结合你的所见或所闻,举例说明软件是需要维护的。

第九章 软件生命周期模型

9.1 软件生命周期模型

第九章 单元测试

预备知识

暂无

证书要求

1. 完成课程全部内容的学习;

2. 参加结课考试,共计20个单选题,每题5分。考试为开卷考试,可以查阅有关参考资料和英文词典。学员考试得分50分以上,即合格,即可获得合格证书;80分以上,即可获得优秀证书


参考资料

1. Stephen R. Schach, 面向对象软件工程(中译本),1th Edition, McGraw Hill北京:机械工业出版社,2009.3.

2. (美)布鲁格,面向对象软件工程:使用UML、模式与Java(中译本),第3版,清华大学出版社,2011.2.

3. Stephen R. Schach, Object-Oriented Software Engineering,1th Edition, McGraw Hill北京:机械工业出版社,2009.3.

4. Roger S. Pressman, Software Engineering-A Practitioner’s Approach,6th Edition,McGraw Hill,2001-1.

5. Karl E. Wiegers,Software Requirements,Microsoft Press,2000.

6. Mark Priestley,Practical Object-Oriented Design with UML,2nd Edition,McGraw Hill,2004.

7. Ron Patton,Software Testing,2nd Edition,Pearson Education,2006.

8. Pankaj Talote,Software Project Management in Practice,Pearson Addison Wesley,2002.