软工——结构化分析(数据流图、ER图、状态转换图)(围绕例题有详细过程哟~)

结构化分析方法

结构化分析是一种半形式化的建模技术,即抽取系统的本质要素,描述数据和行为的模型。注意:系统模型不是系统的代替表示,而是摈弃细节后的系统的抽象。

其要完成的主要目标:描述客户的需要;建立软件设计的基础;定义在软件完成后可以确认的一组需求。

          分析模型结构的核心是数据字典(DDData Dictionary),包含了软件使用或生产的所有数据对象描述的中心库。

结构化需求分析建模方法

  • 面向数据:

         面向数据的建模方法      实体关系图(E-R图)---信息域

  • 面向系统行为:

         面向数据流的建模方法   数据流图(DFD-功能域

         面向状态的建模方法      状态转换图(STD-行为域

 

 

 

 

面向数据流的建模方法

1、构件原则:自顶向下,逐步分层

2、预备知识:

(1)数据流图的基本要点时描绘”做什么“,而不关心“怎么做”。数据流图通常忽略出错处理,也不包括诸如打开和关闭文件等内部处理。

(2)数据字典:

       四要素:数据流、数据流分量、数据存储和处理

      还包括关于数据的其他信息:一般信息(名字、别名、描述等)、定义、使用特点、控制信息、分组信息。

      数据元素可以通过顺序( + )、选择( | )、重复( { } )这三种方式组成数据

      数据字典中名字具有唯一性。

      在建模过程数据字典可更新

(3)

数据流图的基本符号
图1
数据流图的附加符号
图2 

 3、步骤:

    1‘ 数据流图要素分析(确定数据来源、终点、数据流、数据存储和处理等)

    2’ 构建数据流图(DFD)

    3‘ 建立数据字典(DD)

构建DFD图的具体步骤:

   (1)构建顶层DFD(确定系统边界、数据的输入输出、系统功能)

   (2)对顶层DFD图细化,构建0层DFD(细化顶层数据流图,加入数据存储)

   (3)对0层DFD的每个加工进行细化,分别构建1层DFD,依次类推,逐层精化,直至构建出底层图。

4、例题:书店向顾客发放订单,顾客将所填订单交由系统处理,系统首先依据图书目录对订单进行检查并对合格订单进行处理,处理过程中根据顾客情况和订单数目将订单分为优先订单与正常订单两种,随时处理优先订单,定期处理正常订单。最后系统将所处理的订单汇总,并按出版社要求发给出版社。以下对例题开始建模:

(1)    数据流图要素分析

功能:图书预订系统

       数据源点:顾客

       数据终点:出版社

       处理:订单检查、订单处理

       数据存储:图书目录优先订单,正常订单,汇总订单

(2)开始构建数据流图:

  • 顶层数据流图

          

  • 0层数据流图

  • 1层数据流图

tip:

1.数据流图中每个元素必须有名字,且命名合理:

       加工名字应该反映整个加工的功能,而不是一部分功能。加工命名一般为动词+名词短语

       数据流名字应该代表整个数据流的内容,而不是仅仅反映它的某些成分。数据流命名为名词。

(2)  每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。

(3)保持父图与子图的平衡

(4)箭头不总是一个含义:

    

(不是废话哦,亲!process又不是总和Data_store相连@_@)

 

 

面向状态的建模方法

1.定义:状态模型是一种描述系统对内部或者外部事件响应的行为模型。它描述系统状态和事件,以及事件引发系统在状态间的转换。这种模型适用于描述实时系统

2、具体含义:

tip:

  • (条件满足时)事件发生,此时系统由状态1变到状态2,同时动作发生,注意同时发生!!!
  • 条件是一个布尔表达式:如果事件说明和守卫条件同时使用的话,则当且仅当事件发生且布尔表达式为真时,状态才发生转换。如果只有条件,则只要条件为真,状态就转换。动作表达式就是一个过程表达式,当状态发生转换时执行该表达式。

3.状态机建模方法步骤:

(1)系统状态、行为与事件分析

(2)构建状态图

【例】某汽车停车场欲建立一个信息系统,需求如下: 
a.在停车场的入口和出口分别安装一个自动栏杆、一台  停车卡打印机、一台读卡器和一个车辆通过传感器。
b.当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走停车卡后,系统命令栏
杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。
 c.在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。付
清停车费之后,将获得一张出场卡,用于离开停车场。d.当汽车到达出口时,驾驶员将出场卡插入出口处
的读卡器。如果这张卡是有效的,系统命令栏杆自动抬起;汽车通过出口后,出口传感器通知系统发出命令
,栏杆自动放下。若这张卡是无效的,系统不发出栏杆抬起命令而发出告警信号。
 e.系统自动记录停车场内空闲的停车位的数量。若停车场当前没有车位,系统将在入口处显示“车位已满”
信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。
请画出停车场入口护栏的状态图。

简单分析以下:

(1)信息系统(自动栏杆、停车卡打印机、读卡器)的状态:
自动栏杆抬起、放下
打卡机打印停车卡
已付款(、未付款)
停车卡有效
停车卡无效
警告
有空位、无空位

(2)控制信息:
车辆到达入口
获取停车卡
通过入口
(插卡、计时、)付清车费
离开停车场

声明:

补个简单的流程图

第一道例题的流程图

本文中图1(表2.3)、图2(表2.4)是从网上共享资源找的,除此之外皆为原创。

参考书籍《软件工程方法与实践》第3版

绘图软件:PowerDesigner 16

ER图数据库原理学过,懒懒不总结了

(本人学生,若有不足或错误,欢迎指正^_^)

 

 

 

 

本高校班级管理系统的主要目的是为了方便毕业之后大家保持联系,不会因为彼此分开而使得同学间的感情疏远。因此要为班级成员提供一个温馨,友好的操作界面,让大家进入系统感觉如同走进家庭般温暖,同时为具有较高权限的系统管理员提供相应的系统功能。高校班级管理系统主要需要实现以下基本功能: 1.登入功能:系统首页提供登入对话框,输入用户名和密码,系统验证正确后进入系统,否则提示错误信息。 2.注册功能:该功能为浏览者提供注册功能,在注册界面填写相应信息,系统验证正确后,成为系统用户。 3.留言功能:所有用户都具有此功能,它用于用户发表留言。 4.查看留言功能:所有用户都具有此功能,用于查看系统中所有成员留言。 5.删除留言功能:该功能只有系统管理员才能使用,用于删除系统中不需要的留言。 6.个人信息修改功能:所有用户都具有此功能,用于修改用户注册信息。 7.查看班级信息功能:所有用户都具有此功能,用于查看当前系统信息,如班级创建者,班级说明,班级成员总数,留言总数,相片总数等。 8.修改班级信息功能:该功能只有系统管理员才能使用,用于修改班级信息。 9.上传相片功能:该功能只有系统管理员才能使用,用于将班级照片发布在系统中 10.删除相片功能:该功能只有系统管理员才能使用,用于删除不需要的照片。 11.浏览相片功能:所有用户都具有此功能,用于浏览系统发布的照片。 12.发送短信功能:所有用户都具有此功能,用于在系统中发送短信,你可以指定发送对象。 13.查看短信功能:所有用户都具有此功能,用于查看是否有自己的短信。 14.删除短信功能:该功能只有系统管理员才能使用,用于删除不需要的短信。 15.发布班级新闻功能:该功能只有系统管理员才能使用,用语发布班级重要通知等。 16.修改班级新闻功能:该功能只有系统管理员才能使用,用于修改新闻内容。 17.删除班级新闻功能:该功能只有系统管理员才能使用,用于删除系统中的旧新闻。 18.添加教师功能:该功能只有系统管理员才能使用,用于添加教师信息。 19.查看教师信息功能:所有用户都具有此功能,用于查看教师信息,方便用户与教师取得联系。 20.查看用户信息功能:该功能只有系统管理员才能使用,用于查看注册的所有用户信息。 21.用户权限设置功能:该功能只有系统管理员才能使用,用于设置用户权限,是否将用户提升为管理员,或者将管理员降为一般用户。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值