11.4 系统分析
需求确定之后需要对系统进行整体分析和设计。这包括系统功能的描述、对功能模块的划分和对系统流程的分析。下面首先对系统功能进行描述。
11.4.1 系统功能模块划分
模块分析是描述系统需求的一个过程,需要将需求分析中的感性描述进行抽象,提取出要实现的功能,这是整个系统开发的一个关键过程。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。因此,这个网上订购子系统的需求分析也应该由开发人员和用户或者客户一起完成。由于这里的例子只用于帮助读者学习系统开发的过程及方法,所以对于将要开发实现的网上订购子系统实际上并没有真正的用户或客户,在开发过程中假定笔者就是系统的使用者,并由此提出具体需求。需求分析的第一步是描述系统的功能,以此确定系统的功能需求。
根据以上的用户操作需求,将系统划分如下,并对其模块的划分和功能进行描述。
用户个人信息的显示
注册用户的类别显示
注册用户的电子货币信息显示
注册用户的订单显示
注册用户的消费记录显示
注册用户的充值记录显示
用户个人信息的查询
注册用户的订单查询
注册用户的消费查询
注册用户的充值查询
整个系统的模块结构如图11.6所示。
图11.6 系统模块结构图
高内聚、底耦合
注意接口的设计
系统就是问题域,系统划分过程就是对问题分解过程。
所以明确需求而且对问题域研究透才能划分得好。
最大程度的减少耦合
按业务分类
根据团队成员的实力分配任务
业务和功能距阵
一般是根据功能和应用来划分,也有按技术层面来划分的。
先根据需求划分技术实现的不同层,然后在每个层上面根据功能来划分。层与功能。
这个没有标准,我觉得一般都是按使用软件的部门,或者是软件流程从组来分
一般是根据功能和应用来划分,也有按技术层面来划分的。
如果使用面向对象的方法,应该根据数据划分模块,高内聚原则,一个模块实现对一组相关数据的所有操作。先给数据分类,相关的数据分为一类,然后每个类别用一个模块来处理。 (按功能,按数据)
实际设计中经常根据业务分类的划分模块,比如客户有很多个部门,每个部门用的功能放在一个模块中,这样设计的好处是容易理解,但数据一致性维护会有麻烦。(按角度)
=========================================
项目的模块划分(Feature)
划分让测试来分还是让开发来分,结果可能完全不一样的。从测试角度更多地是从界面来划分,从开发角度,更多地从功能性和函数来划分。界面划分和功能性划分在一定程度上是矛盾的。一个界面可能拥有很多功能,一个功能或函数在很多地方都会用到。如果只从界面上考虑,可能会存在一个界面上的功能太多而失去了模块划分的意义。如果只从功能或函数上划分,有可能会存在划分太细或者界面上无法体现的情况。
从以上情况来看,存在2个问题:第一、模块大小的问题;第二、界面上是否体现有些功能。只要我们解决这两个问题,那么测试和开发对划分的模块也就不存在着矛盾了。
模块划分必须遵循以下原则:
一、以界面为基准树状结构
二、大小控制在10MD左右,不得在3—15MD以外。如果一个模块少于3MD,那么可以合并;如果一个模块大于15MD,那么必须再按功能细分。
三、补充隐藏性功能和函数
以上提到树状结构的模块划分。模块划分要逐步细分,部分模块会相互牵连。上级模块和下级模块肯定相牵连,其中任何一个模块变动,所有相牵连的模块都要重新测试
分享到:
相关推荐
详细的模块设计 航空定片系统模块设计 用户模块设计 管理员模块设计 全部都有
其中学生信息系统划分为七个模块,学生成绩划分为四个模块。然后在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据结构。在测试过程中,先对单个模块进行测试,然后把模块连接起来进行测试。测试完成后...
该文件主要是对软件系统的模块进行划分的样例
企业人力资源管理系统功能模块划分
用户权限分配 安全选项 事件日志:应用程序、系统和安全的事件日志设置 系统服务:系统服务的启动和权限 注册表:注册表项的权限 文件系统:文件夹和文件的权限 安全模块 2、安全模板定义 3、帐户策略 在Windows操作...
为了对产品服务系统的模块化设计方法进一步研究,采用对产品服务模块进行与以往不同的的划分,分为产品功能结构相关性服务和产品功能结构无关性服务,通过建立产品各服务模块和产品功能结构相关服务之间的关联矩阵,找到...
五子棋游戏的模块划分
文档介绍了一个OA系统的模块划分,让初接触者可以更好的理解OA系统的流程!
系统介绍 本系统属于小型的餐饮管理系统,可以有效地对中小型餐厅消费进行管理,本系统应达到以下目标: 系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。 实现对餐厅顾客开台...
将采煤机电控系统按功能划分模块化,大大缩短了采煤机电控系统的维护与维修时间。独特的滑道式结构使得每个功能模块化拆卸变得简单容易。整个采煤机电控系统采用DCS控制方式,保证每个功能模块的独立性,使得每个更换...
系统主要由光伏发电模块、mppt控制模块、混合储能系统模块、直流负载模块、soc限值管理控制模块、hess能量管理控制模块。 光伏发电系统采用mppt最大跟踪控制,实现光伏功率的稳定输出;混合储能系统由蓄电池和超级...
JAVA技术、在框架架构上采用流行的MVC架构、...通过对系统功能的各种设置,实现对系统各级用户的角色设置和角色分配,限制和记录各级用户在系统中的对信息的功能操作,体现了系统权限设置的灵活性、数据操作的安全性。
3.2.2系统功能模块划分 14 3.2.3系统运行环境配置 16 3.3 工资管理模块的数据库设计 16 3.3.1数据库概念设计 17 3.3.2 数据库逻辑设计 19 3.3.3 数据库物理设计 20 3.4代码设计 21 3.5系统的界面设计、I/O设计 22 ...
系统设计模块划分PPT学习教案.pptx
新闻发布系统模块划分俺答到 打的阿呆阿呆啊的
本系统根据功能结构来划分为多个子系统模块,主要的功能模块有用户管理、权限管理、违章信息录入、违章信息公告、违章处罚、违章信息统计以及系统的设置部分——包括了:支队管理、大队管理、违章行为、违章地点、...
5.3.2 建立音频捕获对象并为其分配缓冲区 32 5.3.3 打开录音设备 33 5.3.4 开始录音 33 5.3.5 音频压缩并发送给远程主机 33 5.3.6 结束录音 34 5.4音频回放模块的实现 35 5.4.1 确定音频格式 35 5.4.2 建立音频回放...
会计学习教程资料《会计信息系统的模块划分及模块间相互关系讲解》财务培训PPT课件.ppt
有关状态机设计方面的书籍,我这里隆重推荐一本:《Practical Statecharts in C/C++ Quantum Programming for Embedded Systems》,中文名叫做《嵌入式系统的微模块化程序设计-实用状态图C/C++实现》,北航出版的,...