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