hi,小慕
课程

中国大学MOOC,为你提供一流的大学教育

认证学习
为你提供认证成绩和证书,以及AI高效学习服务
查看详情
大学

国家精品

认证学习

智慧课程

理学工学农学

计算机

经济管理

外语

音乐与艺术

心理学

文史哲法

医学与保健

教育教学

大学生竞赛

软件实训

人工智能

升学/择业

考研

期末突击

专升本

四六级

保研及论文

求职就业

专四专八

大学应试英语

期末资料

终身学习

有声课堂

兴趣技能

hi,小mooc
考研全科400分攻略
软件工程
第1次开课
开课时间: 2014年09月08日 ~ 2014年11月20日
学时安排: 6-10
当前开课已结束 已有 315 人参加
立即自学
往期不提供结课证书,想参加下学期课程, 点击这里预约>>
课程详情
课程评价(347)
spContent=我们写的不仅仅是代码:软件工程——专业程序员必由之路!
我们写的不仅仅是代码:软件工程——专业程序员必由之路!
—— 课程团队
课程概述

本课程强化实践能力训练,从学生较为熟悉的编程训练入手,以范例演示基本编码规范、 No Design时的代码、经过基本Modularity (also called separation of concerns)设计的代码、writing code to make it reusable on future projects以及一些特殊的接口设计如callback函数和函数的可重入性(reentrant)或线程安全等较深入的设计问题;并在演示代码基础上进一步引入实际可用的测试代码并切入测试技术基本理论和方法;这是课程的第一部分,重实践,形成对软件工程直观感性的认识,并逐渐由直观感性的动手编码过度到更高层抽象的设计,如OO的封装、多态和继承,高内聚低藕合、UML等。课程的第二部分才开始对软件生命周期、软件项目任务切分工作量评估、项目计划、项目管理、进度跟踪等涉及软件工程项目全局性的概念方法做一梳理。第三部分则具体从需求、设计(重点是更复杂的设计模式体系结构等)、实现、维护等具体软件过程环节展开逐一分析讨论。


课程大纲

课程内容

  • Writing the Programs

    •  代码风格规范

    •  基本的模块化设计

    •  接口设计(callin接口)

    •  测试驱动开发

    •  callback函数

    •  线程安全设计初探

  • Testing the Programs

  • Designing the Modules

  • Why Software Engineering?

  • Modeling the Process and Life-Cycle

  • 面向对象的分析与设计

    • OO基础与UML

    • Use Case Modeling

    • Domain Modeling

    • Object Interaction Modeling and Design Class Diagram

    • Design Patterns

    • Architectural Views and Quality Attributes

  • Capturing the Requirements

  • Designing the Architecture

  • Testing the System

  • Delivering the System

  • Maintaining the System

  • Planning and Managing the Project


课外阅读

专业提升

  • Software Engineering Academic Genealogy http://web.engr.illinois.edu/~taoxie/sefamily.htm

  • PhD Dissertations in the Area of Software Engineering http://www.sigsoft.org/phdDissertations/

  • ICSE http://www.icse-conferences.org/

  • FSE/ESEC http://esec-fse.inf.ethz.ch/

  • TOSEM http://tosem.acm.org/subscription.php

  • TSE http://www.computer.org/portal/web/tse/home

  • SEMAT Workshops on a General Theory of Software Engineering (GTSE 2012 http://semat.org/?page_id=561 and 2013 http://semat.org/?page_id=760), the most recent in conjunction with the ICSE.


展开全部
预备知识

课程适用对象和先修课程要求:

  • 本课程适用于本科高年级、研究生低年级的同学及相关从业人员学习参考之用。

  • 本课程要求学习者具有专业计算机软件基础知识和技能,比如C语言与数据结构、面向对象程序设计等。


课程实验环境:

  • 本课程主要实验都在Linux环境下演示,如果您之前从来没有接触过Linux系统或者不熟悉Linux Shell的基本命令,请您参考Linux GetStarted

  • 代码编辑和阅读的常用工具:Vim\Emacs(Linux),UtraEdit\SourceInsight(Windows)

  • 版本控制工具git,本课程所有演示代码会发布在github

    • git快速入门

    • git clone URL

    • git add FILES

    • git commit -m "messages"

    • git push origin master


参考资料
  • 软件工程 - 理论与实践(第四版 影印版) Software Engineering: Theory and Practice (Fourth Edition),Shari Lawrence Pfleeger,Joanne M. Atlee ,高等教育出版社

  • 软件工程 - 理论与实践(第四版) Software Engineering: Theory and Practice (Fourth Edition),Shari Lawrence Pfleeger,Joanne M. Atlee,杨卫东译,人民邮电出版社

  • 软件工程—实践者的研究方法(Software Engineering-A Practitioner’s Approach); (美) Roger S. Pressman 著; 机械工业出版社ISBN:7-111-07282-0

  • 《人月神话》 Frederick Brooks

  • 《人件》 Tom DeMarco

  • 《第五项修炼》 Peter M. Senge

  • 《黑客与画家》 Paul Graham

  • 《构建之法——现代软件工程》邹欣

  • 软件工程往年课程主页


中国科学技术大学
1 位授课老师
孟宁

孟宁

中国科大软件学院教师、高级工程师

下载
下载

下载App