3.1 什么是需求分析
需求是指目标软件的需求,即在最终交付给用户的软件中应该包含哪些功能、性能、安全、运行维护等方面的要求。需求由用户提出,软件工程师负责收集、整理用户对软件的需求,并积极听取用户对需求的各种建议,最后用形式化的方法将这些需求规范化地描述出来,形成“软件需求规格说明书”(Software Requirement Specification,即SRS)。
Fred Brooks曾经说过:“构建一个软件系统最困难的部分是确定构建什么。其他部分工作不会像这部分工作一样,在出错之后会如此严重地影响随后实现的系统,并且在以后修补竟会如此的困难。”
因此,理解问题的需求是软件工程师所面对的最困难的任务之一。因为,软件工程师不了解用户的专业,而用户也不熟悉计算机能够做什么。双方缺乏共同语言,交流时存在较大的障碍。此外,由于编写软件充满了挑战性、创造性和趣味性,以至于很多不成熟的软件工程师在尚未清楚地了解用户需要什么之前就迫不及待地投入到软件编写工作中。最终,事实胜于雄辩,据统计,软件开发失败大约有50%是因为软件需求不合理而造成的,触目惊心啊!
上一篇:农村信用体系建设创新
下一篇:国家科技计划体系概况