通过此次程序开发,我认识到精心进行软件分析设计的必要性。
1. 需求分析
此次程序的需求比较明确,但是依然有一些细节有待考虑。包括在搜索时得到所有同一类型的所有物品的需求、在删除时先确认要删除的物品信息无误的需求等。这些需求的分析需要开发者站在用户的视角下进行考虑,通过用例模型进行分析。同时还要考虑到各种复杂的出错处理需求。
2. 面向对象方法的使用
通过画出用例图、顺序图、类图,能够对于要开发的软件有一个清晰的认识。用例图中包括了各种复杂的错误处理情形,能提醒在开发时防止遗漏;顺序图展示了用户视角下的操作顺序,能够借此规避软件开发过程中的不合理逻辑;类图能够清晰比较具体地展示不同类之间的关系,有利于为程序设计开发时理清思路。
3. 软件测试
软件测试包括黑盒测试与白盒测试。在黑盒测试下,测试正常运行时的情形与错误处理时的情形都很重要;在白盒测试下,由于此程序分支较少,覆盖测试实现起来较为简单。由于开发者本身对于所开发的软件难以发现潜在的错误,所以最好能够进行第三方的beta测试来测试程序的鲁棒性。