软件工程中的特殊需求识别-王立福教授讲座

需积分: 32 23 下载量 76 浏览量 更新于2024-08-20 收藏 3.86MB PPT 举报
"任务标识公共的特定需求-北大王立福教授 软件工程2012研修班课件" 这篇课件主要由北京大学软件工程国家工程研究中心的王立福教授讲解,内容涵盖了软件工程的基础知识,特别是强调了在软件开发过程中识别并处理特殊需求的重要性。软件工程是一个系统性的工程学科,它综合了计算机科学理论、技术以及工程管理原则,目的是在预算和时间表内开发出满足用户需求的软件产品。 在软件生存周期中,软件需求的识别和规格说明是起点,也是后续测试和验证的标准。课件提到了五大部分内容: 1. **概论** - 强调理解软件开发的本质和基本手段,以及其结果形态。软件开发的本质是将问题域的概念和处理逻辑映射到不同的抽象层,包括需求、设计、实现和部署阶段。 2. **软件过程** - 描述了软件开发中涉及的各种活动及其组织方式,这涉及到软件生命周期的不同阶段,如需求分析、设计、实现、集成、部署和维护。 3. **软件需求及系统/产品(需求)规约** - 需求分析是软件开发的起点,它定义了产品的功能性和非功能性需求,如永久性、分布与并发、安全性、容错能力和事务管理等。这些特殊需求对于支持后期设计和实现至关重要。 4. **软件开发方法学** - 探讨了如何进行软件开发,涵盖了各种方法,如结构化方法、面向对象方法、面向数据结构方法和维也纳开发方法等,这些都是实现开发过程的途径。 5. **CMM(Capability Maturity Model for software)** - CMM是一种评估和改进软件开发过程成熟度的框架,确保能够产出正确的软件产品。 在软件开发过程中,识别公共的特定需求是非常关键的一步。这些需求可能涉及到系统的持久性,比如数据的持久存储;分布与并发,关乎多线程或多进程环境下的协同工作;安全性,确保系统不受未经授权的访问或攻击;容错能力,保证系统在遇到错误时仍能正常运行;以及事务管理,确保数据一致性。了解和处理这些特殊需求有助于构建更稳定、可靠和适应性强的软件系统。 通过采用合适的开发范式,应用适当的开发方法,提供必要的工程支持,并实施有效的工程管理,可以提高软件项目的成功率。软件模型的不同抽象层,如概念模型、设计模型、实现模型和部署模型,是映射问题域到计算逻辑的重要工具,它们帮助开发者理解和解决不同层次的问题。 王立福教授的课件深入浅出地介绍了软件工程的核心概念,强调了识别和处理特殊需求在软件开发中的重要性,并提供了软件开发过程的全面视角。