高等软工作业——从需求分析看软件开发的挑战
从需求分析看软件开发的挑战
我们组的题目是社区疫情防控项目,由需求分析我们可以得出软件开发的以下挑战:
挑战1:项目基础架构
问题:未完全建立的项目环境是软件开发的常见挑战,例如防控疫情的环境是以什么程序开发、什么系统开发需要事先建立起体系,如果环境不可用,那么无法按时且预算有效地进行项目。
解决方案:为确保有效的项目开发,应在开发,测试和用户验收测试阶段提供测试环境。
挑战2:发展期望和结果
问题:软件项目复杂的主要原因是需求的不断变化,需求分析不仅需要了解项目的设计细节,而且需要最终交付的产品形式。
解决方案:为确保产品结果符合期望和要求,需要建立坚实的流程和沟通渠道。
定义项目范围
在开发和构想团队之间传达需求和期望
从新产品开发开始就考虑UX
创建清晰,简洁,透彻的需求文档,确认需求理解
创建原型以确认并完善最终商定的要求
挑战3:安全基础架构
问题:安全漏洞在软件开发中非常重要,例如疫情防控问题中如何定义不同人员、地区的不同防控登记,如何应对不断发展的安全威胁,如何确保软件的安全?
解决方案:安全不仅是软件工程师的责任,还是所有相关利益方的责任,包括管理人员,超级管理员以及应用程序和开发人员。
超越技术来提高软件的安全性
使用具有内置安全功能的高级编程语言开发软件
要求进行安全保证活动,例如渗透测试和代码审查
执行必要的核心活动以生成安全的应用程序和系统
挑战4:不确定的质量标准
问题:即使在开发阶段就已经通过的设计方案,在功能测试期间也需要进一步改进。
解决方案:当提出了测试方法,方案,条件,案例和脚本时,需要计划多个测试周期来确保测试计划涵盖了所有要交付的需求。
挑战5:项目管理
问题:多任务处理需要优秀的项目管理能力,需要调度资源使得每个模块都能有所开发。
解决方案:使用项目管理工具,并使项目,资源和团队保持井井有条。保持进度,按时完成所有任务,跨应用程序无缝工作,高效而轻松地管理项目。始终保持任务分配顺序而不是并行,并鼓励资源尽其所能。
挑战6:测试环境重复
问题:由于用户没有沉浸在完全现实的工作环境中,因此很难在受控的环境中测试软件系统。在部署之前,定期评估用户在不同情况下如何真正使用该应用程序是不切实际的。
解决方案:在单独的实际测试环境中测试软件,应用程序或产品对于软件的成功至关重要。并且需要考虑各种类型的用例,以及防控数据是否成为闭环、是否具有防控漏洞。
总结:
真正的动手来完成软件工程的作业,和团队同学一起分工协作并整合思路想法,向老师汇报并得到老师的意见指导的过程,实际上就是需求分析以及应对软件开发的挑战的过程。在此过程中,通过客服众多问题并得到解决思路能够锻炼我们的各方面能力。

浙公网安备 33010602011771号