Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Tsinghua University

软件需求工程

Tsinghua University via XuetangX

Overview

一、课程概述

软件需求工程的目标是识别现实世界中待解决的问题、可改进的方面、可把握的机会,认知问题的范围,并明确刻画出要通过软件技术有效解决的目标问题,设计出解决方案,并分析和确认方案可行性和有效性。软件需求工程是软件工程专业系列核心课程之一,培养学生的软件问题定义与软件系统需求分析能力。课程主要介绍需求工程过程、需求抽取技术、需求建模与分析方法、需求文档化与验证等内容,结合需求工程案例介绍需求工程方法学。围绕各教学重点介绍本领域的最新研究进展,带领学生实践工业界采用的最新技术、过程、方法和工具。目的是为后续的软件设计、软件测试、软件演化与维护等软件工程活动提供上游输入。课程教学内容具有基础性、实践性和前沿性。

二、先修课程

在学习本课程之前应完成至少一门程序设计课程,了解软件已经成为各行各业重要的基础设施。

三、课程目标

课程旨在让学生理解需求工程基本原理、建模技术、经典方法和最佳实践。学生通过这门课所能掌握的知识和技能如下:

1.了解软件需求工程在软件工程中的重要地位;了解软件需求工程活动的性质;

2.了解和应用软件需求工程的概念、方法、过程和工具;

3.掌握经典的需求工程方法,包括面向目标的方法、面向主体的方法、面向情景的方法、以及问题驱动的方法等;

4.熟悉非功能性需求的分析技术,以及形式化方法在需求分析中的作用;

5.学习需求工程领域当前最新研究成果和最佳实践,通过课堂讨论及课后作业,给学生提供软件需求工程的实践机会。

四、适用对象

软件工程专业高年级本科生和研究生。

五、授课方式

授课与课程项目实践相结合的方式,教学方式采用“讲授-思考与交流-实践”三个环节的有机结合:

课程讲授:在软件需求工程理论知识的讲解中注重贯穿实际的软件系统分析案例,使学生真正理解这些理论知识,建立软件需求工程过程的系统化与工程化观念和质量意识,掌握软件需求工程的最新技术。

启发思考:注重鼓励和引导探索式学习,学生通过文献查阅以及与软件企业人员的接触交流,真正体会当前软件工程业界的真实案例和最佳实践。在教学过程中营造轻松活跃的课堂气氛,开展互动式的讨论,鼓励学生结合课程实践中的问题进行专题报告和软件演示。


Syllabus

  • 第一章 软件需求工程概述
    • 1.1 故事-远程诊疗
    • 1.2 故事-轨道交通
    • 1.3 故事-智能家居
    • 1.4 人机物融合场景下软件需求工程
    • 1.5 软件需求工程任务抽象
  • 第二章 软件需求过程
    • 2.1 需求过程模型
    • 2.2 需求开发活动
    • 2.3 需求管理
  • 第三章 面向目标的方法
    • 3.1 目标的分类和表示
    • 3.2 目标的建模和障碍分析
    • 3.3 目标的操作化和工业界应用案例
  • 第四章 面向主体的方法
    • 4.1 什么是主体
    • 4.2 主体分析的方法和测略主体建模
    • 4.3 依赖关系建模
    • 4.4 企业专家访谈
  • 第五章 问题驱动的方法
    • 5.1 问题框架方法的理念和适用性
    • 5.2 问题定位与问题描述
    • 5.3 基本问题框架及其框架关注点
    • 5.4 基本问题框架变体,问题框架的综合关注点
  • 第六章 面向情景的方法
    • 6.1 面向情景的需求方法
    • 6.2 基于文本的情景描述
    • 6.3 基于用例的情景建模
    • 6.4 情景的原型化
    • 6.5 原型化和原型工具
  • 第七章 环境建模的方法
    • 7.1 环境建模与环境本体
    • 7.2 基于环境本体的功能规格说明推导过程
    • 7.3 环境特性与非功能关注点
  • 第八章 质量与安全需求
    • 8.1 质量需求定义与分析任务
    • 8.2 质量目标建模
    • 8.3 多维度安全目标分析
    • 8.4 安全模式定义、分析与应用
  • 第九章 形式化需求规约与验证
    • 9.1 形式化需求规约与验证(一)
    • 9.2 形式化需求规约与验证(二)
    • 9.3 形式化需求规约与验证(三)
  • 第十章 时间需求分析
    • 10.1 时间需求分析(一)
    • 10.2 时间需求分析(二)
    • 10.3 时间需求分析(三)
    • 10.4 时间需求分析(四)
  • 第十一章 敏捷需求
    • 11.1 写用户故事
    • 11.2 敏捷开发中的需求规划
    • 11.3 敏捷需求质量检查和测试
    • 11.4 计划与敏捷实践的工程应用
  • 第十二章 新时代的需求工程
    • 12.1 面向大规模群体的需求工程
    • 12.2 大数据系统软件的需求工程
    • 12.3 智能软件的需求工程
    • 12.4 大语言模型与需求工程
  • 期末考试

    Taught by

    Jin Zhi, Lin Liu, Chen XiaoHong, Li Tong, and Wang ChunHui

    Tags

    Reviews

    Start your review of 软件需求工程

    Never Stop Learning.

    Get personalized course recommendations, track subjects and courses with reminders, and more.

    Someone learning on their laptop while sitting on the floor.