什么是软件的需求呢?
软件需求就是系统必须完成的事及必须具备的品质。具体来说,软件需求包括功能需求,非公需求和设计约束三方面的内容。
功能需求:是指系统必须完成的那些事,即为了向他的用户提供有用的功能产品必须执行的动作。
非功能需求:是指产品必须具备的属性或品质,如性能、响应时间、可靠性、容错性、扩展向等。
设计约束:也称为限制条件、补充规约,这通常是对解决方案的一些约束说明。例如必须采用国有自主知识版权的数据库系统,必须在UNIX操作系统之下运行等。
业务需求:是指反映组织机构或客户对系统、产品高层次的目的要求,通常问题定义本身就是业务需求。
用户需求:是指描述用户使用产品必须要完成什么任务,怎么完成的需求,通常是的问题定义的基础上进行用户访谈、调查,对用户使用的场景进行整理,从而建立从用户角度出发的需求
系统需求:是从系统的角度来说名软件的需求,它包括用特性说明的功能需求、质量属性、非功能需求及设计约束。
需求工程包括需求开发和需求管理
需求开发:包括需求捕获、需求分析、编写规格说明书和需求验证四个阶段。
需求管理:通常包括定义需求基线、处女需求变更、需求跟踪等方面的工作。
需求分析方法最具有代表性的是结构化分析方法和面向对象的分析方法。
软件设计是一个把软件需求变换成软件表示的过程。最初这种表示只是描绘出软件的总体框架,然后再进一步细化,并在此框架中填入细节。
软件设计的两个阶段
从工程管理的角度,软件设计可以分为两个步骤:一、概要设计阶段;二、详细设计阶段
概要设计:也称为高层设计,将软件需求转化为数据结构和软件的系统结构。
详细设计:也称为低层设计,将对结构表示进行细化,得到详细的数据结构与算法。