软件,可以解决人们现实社会和生活中的各种问题。人们的需求五花八门,因此,软件设计团队在设计的时候就需要准确的而又全面的找到这些需求。
软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出真实的需求。另外,有很多时候用户并不知道自己确切的需求,或者不愿意表达完整的需求,软件团队需要设身处地替用户着想,引导出需求。需求不仅来自外界,同时可以来自软件企业本身,企业所采用的商业模式会对软件提出需求。需求还可以来自技术团队,团队在考虑软件的代码、架构、所依赖平台的长期演化的时候,会提出技术性的需求,郭扩代码的迁移、架构的演化、平台的变化,或者引入新的技术、编程语言等。了解到需求之后,软件团队需要分析和定义需求以及验证需求,在软件产品的生命周期中管理需求。对软件的需求可以分为:1.对产品功能性的需求;2.对产品开发过程的需求;3.非功能性需求;4.综合需求。得到了需求之后,软件团队就要考虑实现这些需求。一个软件或服务也由很多功能组成,他们有机会地结合起来,才能解决用户的问题,产生效益。软件项目计划的一个重要环节就是估计项目各类工作所需的时间。在开始估计之前,我们先了解下——目标、估计和决心。目标:表明一个希望达到的状态;估计:以当前了解的情况和掌握的自愿,要花费多少人力物力时间才能实现某事;决心:保证在某个时间之前完成预先设定的功能和质量。
软件工程是一门学问,也是一门艺术,它需要我们用心去体会,用心去学习。