Course Syllabus 课程大纲


Spring 2021

《软件工程》教学大纲

一、课程基本信息

开课单位: 信息科学与技术学院 课程代码: CS132
课程名称: 软件工程 英文名称: Software Engineering
学 分: 4 学 时: 64
授课对象:   授课语言: 中英文
先修课程:

二、课程简介和教学目的

在实际应用中,复杂软件通常由一个团队分工合作完成。软件工程是研究如何在团队合作中提升软件开发效率,减小沟通成本的一门学科。在本课程中,同学们将通过课程及项目实践理解如下知识与技能:
•	什么是软件工程?为什么叫软件“工程”而不是软件“科学”?
•	软件生命周期中的步骤及分工
•	软件项目管理方法及应用
•	如何利用需求分析将用户需求分解为软件需求
•	如何利用模型进行软件早期开发及分析
•	如何在开发过程中维护软件可追溯性,确保软件需求被完整的实现
•	如何利用软件测试与验证保证软件的安全性与正确性
•	如何在保证可追溯性的前提下对原有软件进行修改

三、教学内容、教学方式和学时安排

本课程的教学和实践主要分为如下几个阶段:

  • 阶段1:软件工程简介
    • 了解软件工程基本原理以及应用场景
    • 掌握软件项目管理的方法以及应用
    • 风险管理在软件生命周期中的应用
  • 阶段2:基于模型的软件开发流程
    • 如何建立软件模型
    • 如何为软件运行环境建立模型
    • 利用模型验证提供早期软件正确性证明
    • 软件测试原理
    • 利用模型生成软件测试集
    • 利用模型生成代码
  • 期中考试
  • 阶段3:项目实践与团队合作
    • 通过项目实践的方式体验团队合作中不同角色

四、考核方式和成绩评定

作业 20%

期中考试 20%

课程项目 60%

五、推荐教材

书名 作者 译者 出版社 出版时间 ISBN

六、参考书目

书名 作者 译者 出版社 出版时间 ISBN
Principles of Model Checking Christel Baier and Joost-Pieter Katoen The MIT Press 2008 9780262026499
Principles of Cyber-Physical Systems (The MIT Press) Rajeev Alur The MIT Press 2015 978-0262029117

七、其他说明

八、教师信息和开课单位审核意见

授课教师

(签名)

    年   月   日
邮  箱 jiangzhh@shanghaitech.edu.cn
电  话
开课单位审核意见

(签名)

                   年   月   日