收藏 分享(赏)

奔驰汽车W220 KG系统ppt课件.ppt

上传人:顺达 文档编号:3139221 上传时间:2020-12-04 格式:PPT 页数:17 大小:1.25MB
下载 相关 举报
奔驰汽车W220 KG系统ppt课件.ppt_第1页
第1页 / 共17页
奔驰汽车W220 KG系统ppt课件.ppt_第2页
第2页 / 共17页
奔驰汽车W220 KG系统ppt课件.ppt_第3页
第3页 / 共17页
奔驰汽车W220 KG系统ppt课件.ppt_第4页
第4页 / 共17页
奔驰汽车W220 KG系统ppt课件.ppt_第5页
第5页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、软 件 工 程 1 第三章 结构化分析与设计 需求分析 结构化系统分析 模块化设计思想 结构化系统设计 模块设计 2 3.1 需求分析 准确、完整、规范化的软件需求是软件 开发成功的关键 软件项目中40-60%的问题是在需求阶段 埋下的祸根 3 让用户和开发者共同明确将要开发的是 一个什么样(what)的系统 第一:建立分析模型 描述软件需求的一组模型,是形成需求说明、进行软 件设计的基础 第二:得到软件需求规格说明书 准确、一致、清晰、无二义、直观易读 需求分析的任务 4 需求获取(调研) 形式:联合分析小组 手段:客户访谈、问答、原件收集 目标:功能、界面、质量. 需求分析的步骤 开发方

2、用户方(代表) 专家 5 需求分析的步骤 需求提炼:分析建模 结构化分析 面向对象分析 数据流图 实体关系图 状态转换图 控制流图. 类图 状态图 活动图. 用例图 6 需求分析的步骤 需求描述:撰写软件需求规格说明书( Software Requirement Specification SRS) 在标准模板基础上剪裁 需求验证(复审) 组成复审小组:用户方+外来专家 7 实例(教材购销系统) 学 生 学 生 张 秘书 王 会计 李 出纳 赵 保管 购书购书购书 申请证明发票 领书 单 书 学 生 学 生 审查 有效性 开 发票 开领 书单 发书 购书购书购书 申请证明发票 领书 单 书 学

3、 生 学 生 审查并 开发票 开领 书单 发书 购书购书 申请发票 领书 单 书 学 生 学 生 审查并 开发票 开领 书单 购书 申请 发票领书 单 无效书单 当前系统 目 标 系 统 缺书单 8 需求获取的常用方法 常规需求获取方法 联合分析小组、客户访谈、问题分析与确认 快速原型法在需求分析中的应用 两个层次:联机屏幕、外部特征 过程:规格说明检查生成/修改原型用户评估 基础:快速开发技术和工具(4GT) 9 分析建模 软件分析模型:信息(数据)模型、功能模 型、行为模型 分类:结构化分析(SA)、面向对象分析 (OOA) 方式:图形+自然语言 10 3.2结构化系统分析 DD E-RD

4、FD CFD STD 控制说明 数据对象说明加工说明 11 3.2.1结构化分析模型的组成 数据流图(DFD) 数据字典(DD) 加工说明(PSPEC) 实体关系图(E-R) 12 (1)数据流图(DFD) 加工或 变换 输入输出 :加工 :数据的源点或终点 :数据的流向 :数据文件或数据库 13 数据流图(DFD) DFD不同于程序流程图。 DFD可以表现大到整个系统,小到一个模块 分层数据流图 学 生 学 生 审查并 开发票 开领 书单 购书 申请 发票领书 单 无效书单 各班学生用书表教材存量表 14 (2)数据字典(DD) 对软件中的每个数据规定一个定义条目 ,以保持数据在系统中的一致

5、性 数据项:只含一个数据,又称为数据元素 数据流:由多个相关数据项组成 数据文件(数据库): 符号:=、+、 、 、( )、* * 15 数据流 发票=(学号)+姓名+书号+单价+数量+总价+书费合计 数据流名: 发票 别 名:购书发票 组 成:学号+姓名+书号+单价+数量+总 价+书费合计 备 注: 16 数据文件 学生用书表= 系编号+专业和班编号+年级+书号 系编号=2数字2 文件名:学生用书表 别 名: 组 成:系编号+专业和班编号+年级+书 号 备 注:按系、专业和班编号从小到大排列 系编号由两位数字组成 17 数据项 年级= F/M/J/S 数据项名: 年级 别 名: 取值及含义

6、: F:一年级,M:二年级,J:三年 级,S:四年级 备 注:F、M、J、S可用1、2、3、4代表 18 数据字典例题 请给出安徽汽车的车牌号码的数据字典定义,如 合肥的车牌是“皖A-23002”,芜湖的车牌是“皖B- 00235”等,只考虑后面五位是数字的情况 某个航空售票系统需要保存所有的航班信息,每 个航班的属性包括航班号、出发地、目的地、若 干个中途停靠站、头等舱座位数量及价格(固定 )、普通舱座位数量及价格。有些航班没有头等 舱。采用数据字典描述航班信息 车牌号码=皖A-Z-5数字5 航班=航班号+出发地+目的地+停靠站+(头等舱数量 )+(头等舱价格)+普通舱数量+普通舱价格 19

7、 例题 请给出购书申请的数据字典定义:一份 申请对应一个学生,内容包括学生的学 号、姓名、班级和他(她)所领全部教 材的书号、书名和数量。其中学号由阿 拉伯数字组成,姓名可选。 购书申请=学号+(姓名)+书号+书名+数量 学号=数字 20 (3)加工说明(PSPEC) 三部分:输入数据、加工逻辑、输出数 据 描述不宜过细,过细就变成了设计 描述工具 结构化语言 判定表 判定树 21 结构化语言描述加工说明 把学生学号和姓名写到发票上 检索“学生用书表”,获得该生当年书单 对购书单上每一个书号 如果 书单上无此书号 则 把书号写到无效书单上 否则 检索“教材存量表”,获得该书的单价和库存 如果

8、库存10000100001000010000 预收货款50%50%50%50% 动作 置奖金率8%6%5%4% 如果推销员月薪 10008% 工资 奖金 10005%+300 10005% 10006%+300 10006% 10004%+200 10004% 50% 50% 50% 50% 10000 10000 预收货款推销金额 24 例题 一个加工用来完成商店促销活动中的金 额计算,规定:消费不超过100元,享受 8折;消费100-500,享受7折;消费超过 500享受6折。且如果是会员则再减20。 用判定树描述该加工说明 消费额会员优惠 优惠策略 500 是 否 是 否 是 否 8折-

9、20 8折 7折-20 7折 6折-20 6折 25 (4)E-R图 备注:若关系没有属性,则可以省略 26 E-R图向数据表的转换 一对一:两个实体可合并成一个表 学生床铺 1:10:1 学生学号,姓名,床铺号,上下, 27 E-R图向数据表的转换 一对多:两个实体分别转换成两个表, 在“多”的表中建立指向“1”的表中的外关 键字 部门员工 1:n1:1 部门编号,名称,职责, 员工工号,姓名,性别,所在部门编号 28 E-R图向数据表的转换 多对多:两个实体分别转换成两个表, 另建立一个新表保存它们之间的关系, 新表中应包括这两个表的关键字及关系 的属性 产品原材料 1:n1:n 产品产品

10、编号,名称,价格, 原材料原料编号,名称,价格, 单耗产品编号,原料编号,单耗量, 29 例题 以我校为例,画出学生、班级、课程、 教师的E-R图 30 3.2.2结构化分析方法 结构化分析(SA):一种面向数据流的分 析方法 基本步骤:由顶向下对系统进行功能分 解,画出分层数据流图;由后向前定义 系统的数据和加工,编制DD和PSPEC; 最终写出SRS。 31 (1)画分层数据流图 从基本模型开始(整个系统是一个加工) 逐层分解 重复这种分解,直到加工足够简单(基本 加工) 由顶向下、逐步细化(求精) 32 顶层数据流图 学 生 教材 购销 系统 书库 保管 员 购书单 领书单 缺书单 进书

11、通知 外部项 目标系统 发票 33 二层数据流图 学 生 书库 保管 员 购书单 领书单 缺书单 进书通知 1 销售 2 采购 进书通知 F1教材存量表 F2缺书登记表 发票 34 三层数据流图销售子系统 学 生 学 生 1.1 审查 有效性 1.2 开发票 1.3 打印 发票 1.4 登记售书 打印 领书单 1.5 登记 缺书 1.6 产生补 售书单 采 购 F2缺书登记表 F1教材存量表 F4售书登记表 F3学生用书表 购书单 无效书单 有效书单 发票 发票 领书单 进书通知 补售书单暂缺书单 35 三层数据流图采购子系统 2.1 按书号 汇总 2.2 按出版 社汇总 2.3 进书 处理

12、书库 保管 员 销 售 F2缺书登记表 F1教材存量表F5代购教材表F6教材一览表 缺书单 进书通知进书通知 36 分层DFD的优点 便于实现 逐步细化,避免一次引入过多细节,有利于控制问 题的复杂度 便于使用 便于阅读,有针对性 37 (2)确定数据定义与加工策略 从数据的终点开始,由后向前 领书单=学号+姓名+书号+数量 发票=学号+姓名+书号+单价+数量+总 价+书费合计 1.4的PSPEC:从发票中提取数据生成领书 单;登记售书 售书登记表=领书单=学号+姓名+书 号+数量 38 确定数据定义和加工策略 有效购书单=学号+姓名+书号+数量 教材存量表=书号+单价+数量 1.2的PSPE

13、C:核对存量;如果够则计算书 费,并更新存量;如果不够则产生暂缺 书单 暂缺书单=学号+姓名+书号+数量 补售书单=学号+姓名+书号+数量 缺书登记表=学号+姓名+书号+数量39 (3)需求分析的复审 父图和子图的不平衡 父图和子图的输入数据和输出数据应分别保持一致 ,称为父子平衡。 可以有“例外” 未区分局部文件和局部外部项 各层负责各层,保持图面简洁 分解速度太快 每次分解24个,一般不超过7个 不遵守加工编号规则 40 思考题 分析一个网上购物系统,其过程是:用户首先输入待购买 商品名称(如:手机),然后在所有商品中选择自己中意的品 牌(如:诺基亚8210)和欲购买的数量,系统检查库存,

14、如果 库存不够则提示用户交易失败,如果够就接受交易,并将 订单显示给用户。 其中: 订单=商品名称+品牌+单价+数量+总价+交易时间 要求: 1、画出分层数据流图 2、描述“接受交易”的加工说明 3、给出DFD中所有数据文件的数据定义 41 用 户 用 户 查询请求 订单 网上购 物系统 购买请求 1 查询 商品 2 接受 订购 3 检查 库存 4 接受 交易 用 户 查询请求 商品库存表 商品列表 购买请求 购买请求 有效购买 请求 用 户 订单 用 户 无效 请求 商品库存表=商品名称+品牌型号+单价+库存数量 接受交易加工说明 接受购买请求 查询商品库存表中对应请求中的商品的单价 计算本

15、次购买金额,查询系统时间,生成订单 更新库存表中的商品数量 42 3.3模块化设计思想 把大型软件按照规定的原则划分成一个 个较小的、相对独立但又相互关联的模 块,叫做模块化设计 分解 模块独立性 自顶向下与由底向上设计 43 3.3.1模块独立性 模块独立性由内聚和耦合来度量 模块独立性越高,块内联系越强,块间 联系越弱 高内聚、低耦合 44 3.3.1模块独立性 C(P1 + P2) C(P1) + C(P2) E(P1 + P2) E(P1) + E(P2) 分解的模块数量不能过大、也不能过小 C(P1 + P2) = C(P1) + C(P2) + C(P1P2) E(P1 + P2)

16、 = E(P1) + E(P2) + E(P1P2) 45 3.3.2内聚 偶然性内聚 功能性内聚 时间性内聚 逻辑性内聚 过程性内聚 顺序性内聚 通信性内聚 弱 强 46 (1)偶然性内聚 模块内各组成成分在功能上互不相关,组合 纯属偶然 void m1() int i, j, k; i = 2; j = m3() +2; 47 (2)逻辑性内聚 由若干个逻辑功能相似的成分组成 int calPoint(int flag) int ave, max, total, num; total = num = 0; FileReader fr = new FileReader(“c:/gradePo

17、int.txt”); BufferedReader br = new BufferedReader(fr); String s = br.readLine(); while (br.ready() if (flag = 1) total += Integer.parseInt(s); num+; else max = max Integer.parseInt(s) ? max : Integer.parseInt(s); s = br.readLine(); return flag = 1 ? total/num : max 48 (3)时间性内聚 模块内成分有相同的执行时间联结到一起 int calPoint(int flag) int ave, max, total, num; total = num = 0; FileReader fr = new FileReader(“c:/gradePoint.txt”); Buffe

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 应用文书 > PPT文档

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报