结构化分析:软件需求与系统规约
需积分: 20 191 浏览量
更新于2024-08-23
收藏 3.53MB PPT 举报
"何谓结构化分析-软件工程课件"
结构化分析是软件工程中的一个重要环节,它是一种系统化的方法,用于从问题域中提取并建立待开发软件系统的需求模型。这一方法的核心在于,通过使用问题域的专业术语,将客观存在的系统(问题域)映射到一个抽象层,也就是需求层,形成软件系统的需求规约,即规格说明书。需求规约作为开发人员和客户之间的技术契约,为后续的开发活动提供了基础,并作为产品确认(测试)的标准。
在软件工程中,软件开发的本质被理解为问题域到不同抽象层之间概念和计算逻辑的映射。这个映射过程包括数据抽象和过程抽象两个主要方面。数据抽象是指问题空间的概念被转化为模型化概念,如在学生管理系统中,学生对象可以被抽象为包含姓名、年级等属性的数据结构。而过程抽象则是指问题空间的处理逻辑被转化为解空间的可构造计算逻辑,如计算学生的平均成绩。
结构化分析方法通常与特定的开发方法学相结合,如在上述例子中提到了面向对象方法和结构化方法。面向对象方法强调数据和操作的封装,通过类和对象来表达问题域的概念;而结构化方法则更侧重于功能分解和流程控制,通过过程抽象构建模块化的软件结构。
软件工程的过程包含了软件开发的各个阶段,从需求获取、分析、设计、实现、测试到维护。软件需求及系统/产品需求规约是软件开发的起点,它定义了软件应具备的功能和非功能特性,为后续的开发提供明确的方向。软件开发方法学则提供了一套系统的、规范化的开发指南,帮助开发者遵循一定的路径进行软件构造。
CMM(Capability Maturity Model for software)是软件开发过程能力成熟度模型,它关注的是如何确保开发过程的质量和效率,通过等级提升来提高软件开发组织的能力,以产出正确的软件产品。
结构化分析是软件工程中理解和表达问题的关键工具,它通过对问题域的深入理解和抽象,为软件开发提供了清晰的需求模型,从而指导整个软件开发过程。同时,软件工程的其他方面,如软件过程、开发方法学和CMM,共同构成了支持软件开发的知识体系,确保了软件产品的质量和效率。
2022-04-01 上传
2022-04-01 上传
2022-10-29 上传
2019-09-19 上传
2021-10-15 上传
2021-09-08 上传
2021-01-01 上传
巴黎巨星岬太郎
- 粉丝: 18
- 资源: 2万+
最新资源
- VC++ Win32俄罗斯方块游戏源码(新)
- Algotrading:为Algotrading项目创建的仓库
- lean-cli:用于在本地和云中运行LEAN引擎的CLI
- suit.zip_单片机开发_Java_
- cutelog:用于记录的GUI
- sandbox:Nette Framework沙箱项目
- BigCommerce Aliexpress Importer-crx插件
- scientific_computing_cookbook:用于科学计算中各种任务的简单配方
- javawebTest01
- svm_cvx:使用CVX进行凸优化的SVM实现
- AndroidX-Jetpack-Practice:本仓库致力于建立最全,最新的AndroidX Jetpack相关组件的实践项目以及组件对应的分析文章(持续更新中)如果对你有帮助,请在右上角star一下,感谢
- SerialTool:跨平台的Serial-PortTCPUDP调试工具
- 参考资料-WI-HJ0105石材养护服务检查标准和考核办法.zip
- Free Visio Viewer (Mac, Windows, Linux)-crx插件
- matlabkalman.zip_matlab例程_Visual_C++_
- 脚本轮椅