实验二 结构化分析与设计

一.实验目的

(1)掌握结构化的需求分析方法;

(2)掌握分层数据流图的绘制、数据字典和加工说明的编制;

(3)掌握数据流图映射为软件结构图的方法;

(4)掌握需求说明书和设计说明书的主要内容,学习软件需求说明书和设计说明书的编写;

(5)掌握测试的基本方法。

二.实验内容

(1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求;

(2)绘制系统的分层数据流图,并给出数据字典;

(3)将系统的分层数据流图映射为软件结构图,绘制软件结构图;

(4)为关键模块进行详细设计,如绘制关键模块的流程图;

(5)实现系统部分功能并测试。
【实例1】机票预订系统
参考:
(1)携程网
(2)去哪儿
 为了方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,旅客在飞机起飞前一天凭取票通知和账单交款取票,系统核对无误即印出机票给顾客。
【实例2】教材订购系统
  销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生即可去书库领书。
 采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书单通知给教材发行人员。
【实例3】图书管理系统
参考:图书馆

三.实验步骤

(1)复习结构化的分析与设计方法的主要过程;

(2)讨论系统存在的用户角色、工作流等;

(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;

(4)对应数据流图,设计系统的功能结构图,关键模块的流程图;

(5)选择对应的结构化程序设计语言,实现并测试部分功能模块

ATM管理系统

1)需求分析

1、用户需求
首先在设计过程中我们可以为用户设计几个模块:需要有登录,存款,取款,查询,转账,修改密码。

2、系统需求
1.系统性能分析:
(1)系统处理的准确性和及时性
(2)系统的开放性和扩展性
(3)系统的易用性和易维护性
(4)系统的标准性
(5)系统的先进性和响应时间

2.系统需求分析
ATM自动取款机是银行在银行营业大厅、超市、商业机构、机场、车站、码头和闹市区设置的一种小型机器,利用一张信用卡大小的胶卡上的磁带〔或芯片卡上的芯片〕记录客户的基本户口资料,让客户可以透过机器进行提款、存款、转帐等银行柜台服务。
(1)客户将银行卡插入读卡器,读卡器识别卡的真伪,并在显示器上提示输入密码。
(2)客户通过键盘输入密码,取款机验证密码是否有效。如果密码错误提示错误信息,如果正确,提示客户进行选择操作的业务。
(3)客户根据自己的需要可进行存款、取款、查询账户、转账、修改密码的操作。
(4)在客户选择后显示器进行交互提示和操作确认等信息。
(5) 操作完毕后,客户可自由选择打印或不打印凭条。
(6)银行职员可进行对ATM自动取款机的硬件维护和添加现金的操作。

3、业务需求
从银行业务角度来分析,除了用户所具有的权限之外,银行ATM系统管理员还应该具有以下权限:用户账号密码的强行修改、根据用户的资料查询到用户的账号信息、查询用户的交易信息、对违规的用户账户进行账户封闭及重开启等。

2)用户角色与工作流

1、用户角色
1.客户:客户可进行 存/取款,查询转账等操作
2.管理员:管理人员根据客户需要和管理需求进行相应的后台信息管理操作

2、工作流
下面是一个客户在ATM机上取款的工作流:

  • 客户选择取款功能选项
  • 系统提示插入IC卡
  • 客户插入IC卡后,系统提示用户输入密码
  • 客户输入自己的密码
  • 系统检查用户密码是否正确
  • 如果密码正确,则系统显示用户账户上的剩余金额,并提示用户输入想要提取的金额
  • 用户输入提取金额后,系统检查输入数据的合法性。
  • 在获取用户输入的正确金额后,系统开始一个事务处理,减少账户上的余额,并输出相应的现金
3)数据流图及数据字典

1、分层数据流图
(1)DFD/0


0.png

(2)DFD/1


1.png

(3)DFD/2


2.png

(4)总


总.png

2、数据字典
系统的主要数据字典如下:


储蓄信息表.png

客户信息表.png

存款单.png

取款单.png
4)系统功能结构图及流程图

1、系统功能结构图
(1)ATM机系统SC图


ATM机系统SC图.png

(2)取款子系统SC图


取款子系统SC图.png

(3)查询账户子系统SC图


查询账户子系统SC图.png

(4)转账系统SC图


转账系统SC图.png

(5)修改密码子系统SC图


修改密码子系统SC图.png

2、关键模块的流程图
(1)设子储户信息流程


设子储户信息流程.png

(2)修改密码流程


修改密码流程.png

(3)查询余额流程


查询余额流程.png

(4)取款流程


取款流程.png

(5)转账流程


转账流程.png

四.思考题

(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
需求说明书:软件需求说明书是指在研究用户要求的基础上,完成可行性分析和投资效益分析以后,由软件工程师或分析员编写的说明书。它详细定义了信息流和界面,功能需求,设计要求和限制,测试准则和质量保证要求。它的作用是作为用户和软件开发人员达成的技术协议书,作为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据。

概要设计:概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。这是一个在用户研究和设计之间架起桥梁,使用户研究和设计无缝结合,将对用户目标与需求转换成具体界面设计解决方案的重要阶段。
概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。

详细设计说明书:详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并入概要设计说明书。

(2)结构化分析方法与面向对象分析方法有无本质上的不同?
结构化系统分析方法是采用“自顶向下,由外到内,逐层分解”的思想对复杂的系统进行分解化简,从而有效地控制了系统分析每一步的难度,并运用数据流图、加工说明和数据字典作为表达工具的一种系统分析技术。
而面向对象的分析方法则是通过将数据和逻辑结构抽象成为对象,运用对象属性和方法等来操作和处理业务数据和逻辑的系统分析方法。
两者的区别在于:当软件项目较小、系统分析员能力足够高的时候,结构化方法能快速的找到最简洁、高效率的逻辑模型,结构化方法对复杂问题的帮助有限,而面向对象的分析方法提供了一种方便的、可持续观测和扩展系统的机制,通过信息隐藏和封装等手段屏蔽了对象内部的执行细节,控制了错误的蔓延,对于需求变化频繁的系统,可以用面向对象软件系统的方法。

(3)对数据流图进行审查有何意义?
检查图中是否存在错误或不合理(不理想)的部分确保两大特性
一致性:分层DFD中不存在矛盾和冲突。
完整性:是否有遗漏的数据流、加工等。

(4)给出一次完整的会议讨论纪要,包括议题,最终结果。
会议纪要是在会议记录基础上经过加工、整理出来的一种记叙性和介绍性的文件。包括会议的基本情况、主要精神及中心内容,便于向上级汇报或向有关人员传达及分发。整理加工时或按会议程序记叙,或按会议内容概括出来的几个问题逐一叙述。纪要要求会议程序清楚,目的明确,中心突出,概括准确,层次分明,语言简练。

实验小结

通过本次实验掌握了结构化的需求分析方法,并且了解了需求说明书和设计说明书的主要内容以及测试的基本方法。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • 结构化分析与设计方法是一种面向数据流的需求分析和设计方法,它适用于分析和设计大型数据处理系统,是一种简单 、 实用...
    deniro阅读 2,090评论 0 8
  • 结构化分析方法的概念 「软件开发方法」的含义:软件开发过程所遵循的办法和步骤。 软件开发活动的目的:有效地得到一个...
    独木舟的木阅读 2,513评论 0 2
  • 分析是系统化使用信息,对一个问题的估算。结构化分析方法是进行这一估算的思维工具。 软件系统/产品的需求工作中,通常...
    86da5252fd48阅读 2,994评论 3 1
  • 结构化分析方法的基本思想是自顶向下逐层分解。分解和抽象是人们控制问题复杂性的 两种基本手段。对于一个复杂的问题...
    ivan_cloud阅读 5,659评论 0 3
  • 导读 本篇开头介绍系统建模的定义、目的和分类,然后以分析、设计两个阶段重点阐述结构化分析的过程和工具,最后对结构化...
    tearhero阅读 4,881评论 0 0