在本学期的软件工程学习过程中,我对需求分析的概念以及用例建模过程有了更深的理解。
需求大致分为以下四种:
功能性需求 (functional requirement)主要描达软件所具备的功能上的行为能力。
非功能性需求 (nonfunctional requirement)主要描述软件具备的性能质量方面的特征。
设计约束条件 (design constraint)是提前给定的设计决策,比如技术平台的选择限制、
接口方式或协议标准的选择限制等。
过程约束条件 (process constraint)是预计在软件开发过程中所受到的技术条件或资源
条件的限制,比如仅能在特定时段提供有限的算力、整个开发过程中所能配备的技术
人员数量等。
在用例建模中,用例是指一个业务过程,由业务领域内的某个参与者触发,终止于某个特定参与者,并且为特定的参与者完成一个特定的业务任务。因此,在需求描述中提取用例时,需要寻找相关动名词短语,并验证是否满足以上几个必要条件。此时提取的用例为抽象用例,即干什么、做什么或完成什么业务任务的动名词短语。此外,还包括两个抽象层级:高层用例,需要给用例的范围划定一个边界,表明用例在什么时候什么地方开始,以及在什么时候什么地方结束;扩展用例,需要将参与者和待开发软件系统为了完成用例所规定的业务任务的交互过程一步一步详细地描述出来。
提取出抽象用例后,需要描述用例的开始和结束状态,得到高层用例。
再对用例按照子系统或不同的方面进行分类,描述用例与用例、用例与参与者之间的上下文关系,画出用例图。
最后进一步逐一分析用例与参与者的详细交互过程,完成一个两列的表格将参与者和待开发软件系统之间从用例开始到用例结束的所有交互步骤都列举出来扩展用例。
091
参考资料《代码中的软件工程》