绪论阅读笔记
绪论这一部分讲的很多,把这本书的框架给讲了一个大概,让我对这本书有了一个大致的了解。
软件的发展经历了以“机器”为中心,以“应用”为中心,以“企业”为中心的发展过程,随着“应用”为中心的软件发展,原来的个体化“软件作坊式”的软件开发模式显示出了很多的问题,针对这些问题,人们在不断地讨论与制定对策,在软件开发技术和软件开发过程与管理方面都取得了很多进步。
软件可以分为:面向专业用户的纯工具型软件、面向普通用户的纯工具型软件和应用型软件。不同种类的软件的评判标准是不一样的,面对不同的用户他们有不同标准。这就要求软件需求的全面性。产生需求问题的最大原因是应用型软件的模拟特征理解不透彻或应用不坚决。同样,非技术性和社会性因素重视不足、传统需求分析的方法的缺陷也会带来需求问题。需求工程必须说明软件系统将被应用环境及其目标,必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明,需要妥善处理目标、功能和约束随时间的演化情况。
而需求工程是所有需求处理活动的总和,它收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应。
需求工程分为需求开发、需求管理,需求开发分为需求获取、需求分析、需求规格说明、需求验证。
【IEEE1998】将需求分为功能需求、性能需求、质量属性、对外接口、约束5类,即两大类功能需求和非功能需求。
功能需求中按抽象层次的高低分为业务需求、用户需求、系统需求。业务需求是系统的目标,用户需求是系统的任务,系统需求是系统的行为。
对于非功能需求,我们很难在系统完成之前清晰地看到,很多时候是在系统完成之后才会发现非功能需求。在解决系统成功或失败的因素中,非功能需求与功能需求同等重要,甚至更重要。