分析软件开发中的常见问题

如果需求分析不清晰、不完整、太笼统或者不具有可测试性,那么软件一定会出现问题。需求分析阶段的常见问题是:需求分析不够深入,对问题域没有仔细研究,急于进入设计阶段。造成这种问题一方面是因为项目管目赶进度以及存在于管理人员头脑中的根深蒂固的想法:任何时候不能让任何人员闲着,另外很大的原因是很多人不知道如何进一步深入研究问题域。需求分析阶段不仅要列出系统的use case,更重要的是要列出use case的输入输出和例外情况等,以及问题域中的对象之间的静态关系和动态关系,如对象间的包含关系,继承关系,调用关系等。这就要求我们在动手开发之前一定要有完整的、详细的、可维护的、可测试的需求分析,而且该需求分析一定要得到各方的认可。

不切实际的计划没有充分考虑问题的复杂性,把一个庞大的工程限定在非常短的时间之内,出现问题是不可避免的。因此,我们应该拿出足够多的时间作计划、设计、测试、修改错误、回归测试、整理文档,不要把长时间熬夜作为软件公司的家常便饭。

很多人分不清什么是单元测试、集成测试、系统测试?测试的顺序是先单元测试,然后是集成测试,最后是系统测试。单元测试是源代码级的测试,一般由编程人员自己使用各种unit工具测试,是白盒测试。集成测试是在单元测试结束后,将一个或若干个单元作为一个子系统的黑盒测试,测试子系统内的所有组件可以正确的交互,集成测试通过对子系统不断增加新的单元最后完成整个系统的测试,集成测试不应由开发人员完成。

不充分的测试在系统崩溃和用户强烈抱怨之前,没有人知道软件是不是存在问题。因此要尽早地开展测试,问题修改之后要尽快地进行回归测试,一定要给测试和修改问题留出足够的时间。

不断增加新的特性在软件开发完成之后,不断有新的需求,这是最常见的问题。因此一定要最大限度地坚持最初的需求分析,如果万不得已,确实需要增加新的需求,那么一定要更改相关的计划。如果可能在设计阶段最好使用快速原型法,让用户知道他们希望的系统是个什么样子的,这样可以在初期更好地听从用户的意见。

在进行软件开发时,如果开发人员之间、开发人员与项目管理组之间、项目组和用户之间不能做充分地交流的话,也同样会出现问题。所以,应使用新闻组、电子邮件以及其他的网络化的错误跟踪工具等方式来加强团队之间的沟通和交流是非常有必要的。

更多[分析软件开发中的常见问题]相关信息

  • 暂无