本文基于中科大高级软件工程课程所学的“从需求分析到软件设计”所学到的知识,对本人工程实践选题《基于阿里云的MESH网络数据采集平台》进行用例建模和数据建模,通过需求分析进行总结概念原型
一.需求分析
需求分析就是需求分析师对用户期望的软件行为进行表述,并进一步用对象或实体的状态、属性和行为来定义需求。
原型化方法(Prototyping)和建模的方法(Modeling)是整理需求的两类基本方法。
原型化方法可以很好地整理出用户接口方式,比如界面布局和交互操作过程等;
建模的方法可以快速给出有关事件发生顺序或活动同步约束的问题,能够在逻辑上形成模型来整顿繁杂的需求细节。
下面结合工程实践选题《基于阿里云的MESH网络数据采集平台》,进行需求分析和建模。
二.项目介绍
我的工程实践选题结合嵌入式技术和无线MESH网络技术设计网络数据采集监控系统,以解决传统的无线局域网(WLAN)覆盖发范围小、局限于局部网络、安装复杂成本高和健壮性差等用户痛点。本系统通过MESH组网来采集不同节点的数据,汇集到Router后发送给阿里云服务器,以达到数据的远程展示和对节点设备的远程控制功能。
系统的大体业务流程如下:
三.完整用例图
1、用例概念
用例(Use Case)的核心概念中首先它是一个业务过程(business process),经过逻辑整理抽象出来的一个业务过程,这是用例的实质。
2、用例建模的基本步骤
①从需求表述中找出用例,往往是动名词短语表示的抽象用例;
②描述用例开始和结束的状态,用TUCBW和TUCEW表示的高层用例;
③对用例按照子系统或不同的方面进行分类,描述用例与用例、用例与参与者之间的上下文关系,并画出用例图;
④进一步逐一分析用例与参与者的详细交互过程,完成一个两列的表格将参与者和待开发软件系统之间从用例开始到用例结束的所有交互步骤都列举出来扩展用例。
3、项目的用例图
由于系统中主要角色是MESH节点,在此画出MESH节点的用例图:
四.业务类图
1.业务领域建模的基本步骤
①收集应用业务领域的信息。聚焦在功能需求层面,也考虑其他类型的需求和资料(用例建模仅仅考虑功能需求);
②头脑风暴。列出重要的应用业务领域概念,给出这些概念的属性,以及这些概念之间的关系;
③给这些应用业务领域概念分类。分别列出哪些是类、哪些属性和属性值、以及列出类之间的继承关系、聚合关系和关联关系。
④将结果用 UML 类图画出来。
2.UML类图
MESH节点的类型有四种:根节点、中间节点、叶子节点和空闲节点。每个节点在系统中的结构是相同的。但由其担任的角色不同,使得它们的功能也不同。
在这里仅对MESH根节点做UML类图分析
五.数据模型
1.概念数据模型
概念数据模型(Conceptual Data Model),简称概念模型,是面向数据库设计的现实世界的模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据库管理系统(Database Management System,简称DBMS)无关。
2.物理数据模型
在数据库中进行相关表的设计,对概念模型进行具体实现和表示。
由于本工程实践是对MESH网络进行部署和节点连网算法和结构的优化,并没有设计数据库来存储数据,故此处无法给相应的数据模型
六.概念原型及工作过程
1.概念原型
概念原型是一种虚拟的、理想化的软件产品形式。
2.概念模型工作过程
在本工程实践中,主要研究的是MESH节点在MESH网中的自组、修复和连接,是针对MESH网络的实现和优化。因此,概念模型的工作过程可以概括为如下:
自组网模式下,从诸多MESH节点中根据组网协议算法自主选择出父节点,中间节点和叶子节点,形成一个完整稳定的MESH网结构。在组网期间,每个MESH节点通过发送信息帧维护一个路由表,以实现路径选择和故障线路的自主修复。最后将各个MESH节点获取的数据信息通过网路传输给父节点,父节点再经过router将数据传输给阿里云服务器。
七.总结
由于此工程实践更偏向于硬件和MESH网络的算法优化,在进行建模分析时,本人的能力尚不足以对这个系统进行较好的抽象,这也是我接下来需要学习的地方。争取在工程实践的项目学习中不断加深对此次课程学习的理解。
参考资料:
https://gitee.com/mengning997/se/tree/master/ppt