高等软工-从需求分析看软件开发的挑战

领域分析

在课程的小组合作作业中, 我和其他组员们一起写了领域分析报告。 其实,我们组写了两次领域分析报告,第一次由于没有参照老师给出的模板,导致最终的领域分析报告和老师预期偏差较大,老师在课堂上和我们组说明了这一点,之后,组长便组织我们按照要求进行整改。在组长的帮助下,我进行了领域分析报告第二次的整改工作, 领域分析报告包括了以下几个模块:项目要求阐述(项目要求,项目背景,项目目标),领域定位,主要术语及解析,系统架构分析(系统内部元素,系统功能识别,系统架构分析),系统运行环境,系统主要流程分析,系统用户识别以及待开发系统的目标分析。

需求分析

需求分析,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。需求分析是软件计划阶段的重要活动,也是软件生存周期中的一个重要环节,该阶段是分析系统在功能上需要“实现什么”,而不是考虑如何去“实现”。

需求分析的内容是针对待开发软件提供完整、清晰、具体的要求,确定软件必须实现哪些任务。具体分为功能性需求、非功能性需求与设计约束三个方面。

1.功能性需求
功能性需求即软件必须完成哪些事,必须实现哪些功能,以及为了向其用户提供有用的功能所需执行的动作。功能性需求是软件需求的主体。开发人员需要亲自与用户进行交流,核实用户需求,从软件帮助用户完成事务的角度上充分描述外部行为,形成软件需求规格说明书。
2.非功能性需求
作为对功能性需求的补充,软件需求分析的内容中还应该包括一些非功能需求。主要包括软件使用时对性能方面的要求、运行环境要求。软件设计必须遵循的相关标准、规范、用户界面设计的具体细节、未来可能的扩充方案等。
3.设计约束
一般也称做设计限制条件,通常是对一些设计或实现方案的约束说明。例如,要求待开发软件运行时必须基于Linux环境等。

软件开发

软件开发目前面临一些挑战:首先, 是开发模式的进化;其次,是软件开发过程的可视化管理;另外,还有团队的开发与协作。

 

posted @ 2020-12-14 22:08  yy1213  阅读(158)  评论(1编辑  收藏  举报