使用两种方法来对软件系统进行分割:
- 应用层与实现层
- 功能性与非功能性
对软件系统按照用户需求和内在技术原理划分,实际就是区分应用层与实现层
- 应用层是从用户需求出发的
- 实现层本质上是技术性内容
系统的功能性是考虑系统能做什么,非功能性是指系统做的怎么样
功能性比如播放音乐,拍摄图片等
非功能性比如有一个好看的界面,快速运行的软件等
类比英语语法,一个人走快走慢走都是走,但是走的快慢不一样所以表现的就不一样
走是动词,快慢是副词,所以功能性特征与动词类似,非功能性特征与副词类似
完备性是非功能性特征,也非常重要
- 数据完备性:软件系统中的数据要完整、准确且无冲突
- 行为完整性:软件系统要可顺利运行,并且保证不存在逻辑性错误
- 安全性:软件系统只对认证用户授权有限的数据访问与使用功能