实验二 结构化分析与设计

作业信息

博客班级 软件工程导论-计算机18级
作业要求 作业要求
作业目标 掌握结构化的需求分析方法和设计方法
学号 3180701305

一、实验目的

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

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

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

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

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

二、实验内容

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

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

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

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

(5)实现系统部分功能并测试。

【实例1】机票预订系统

参考:

(1)携程网:https://flights.ctrip.com/international/search/domestic

(2)去哪儿:https://www.qunar.com/?ex_track=auto_4e0d874a

为了方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行

时间、旅行目的地等)输入该系统,系统为旅客安排航班,旅客在飞机起飞前一天凭取票通知和账单交款取票,系统核对无误即印出

机票给顾客

【实例2】教材订购系统

销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领

书单,教师或学生即可去书库领书。

采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书单通知给教材发

行人员。

【实例3】图书管理系统

参考:http://lib.ahpu.edu.cn/

三.实验步骤

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

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

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

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

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

教材购销系统

数据流图:

顶层图:

一层图;

二层F1子图:

二层F2子图:

数据字典:

库存表 = { 书号 + 书名 + 数量 + 单价 }

缺书登记表 = { 登记日期 + 需求信息 }

学生用书表 = { 年级编号 + 书号 + 数量 }

出库表 = { 书号 + 出库信息}

代购教材表 = { 书号 + 采购信息}

入库表 = { 书号 + 入库日期 + 数量 }

数据项

数据项名 数据项含义 类型 长度 说明
书号 书本的编号 字符型 10 4位日期 + 3位书本特有编号 + 3位数量
书名 书本的名字 字符型 10
数量 书本的数量 整型 4 包括:库存、需求、采购、入库数量
日期 书本进入系统的时间 Date类型 8 包括:登记、出库、采购、入库时间
年级编号 不同专业年级的编号 字符型 8 1位学校编号 + 2位年日期 + 4位院、专业编号 + 1位班级编号
采购人 去买书人的姓名 字符型 6

数据结构

数据结构名 含义 组成
需求信息 需要书的信息:书号、数量
出库信息 书本出库时的基本信息
采购 订购的图书信息

数据流

数据流名 含义 输入 输出
购书单 所有的购书目录 学生/教师 P1.1
领书单 所有领取书目录 P1.4 学生/教师
进书通知单 所有进书目录 图书管理员 P2.3
有效购书单 有效的购书目录 P1.1 P1.2
发票信息 购书后的票据信息 P1.2 P1.3
缺书单 书库中缺少的图书目录 P2.2 图书管理
补售书单 补充的订购的图书目录 P1.6 P1.2
新进图书信息 补售后的图书信息 P2.3 P2.4

系统功能结构图

四.思考题

(1)简述需求说明书,概要设计,详细设计说明书的主要内容。

1.需求说明书是指在研究用户要求的基础上,完成可行性分析和投资效益分析以后,由软件工程师或分析员编写的说明书。它详细定义了信息流和界面,功能需求,设计要求和限制,测试准则和质量保证要求。它的作用是作为用户和软件开发人员达成的技术协议书,作为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据。
2.概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序 系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、安全设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。
3.详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关 内容合并入概要设计说明书。

(2)结构化分析方法与面向对象分析方法有无本质上的不同?

面向对象的方法将对象作为实体,对其操作的函数对其依赖性很强,也就是对象更重要,例如C++语言,而结构化方法更关注的是程序自己的运行状态,以及函数的执行效率,例如C语言。

(3)对数据流图进行审查有何意义?

1.便于用户表达功能需求和数据需求及其联系;
2.便于两类人员共同理解现行系统和规划系统的框架;
3.清晰表达数据流的情况;
4.有利于系统建模。

(4)给出一次完整的会议讨论纪要,包括议题,最终结果。

|psp2.1| 任务内容 |计划完成需要的时间(min)| 实际完成需要的时间(min)|
| ----------|-------------|-------------- | ------ |------------|
|Planning| 计划| 10 |20||
|Estimate| 估计这个任务需要多少时间,并规划大致工作步骤| 10| 20||
|Development |开发 |200| 300||
|Analysis |需求分析(包括学习新技术)| 25 |30||
|Design Spec |生成设计文档 |40 |30||
|Design Review |设计复审| 40 |35||
|Coding Standard |代码规范| 15| 20||
|Design |具体设计 |15 |10||
|Coding |具体编码 |20 |15||
|Code Review |代码复审 |20 |10||
|Test |测试(自我测试,修改代码,提交修改) |30 |30||
|Reporting |报告 |15 |10||
|Test Report| 测试报告| 20| 15||
|Size Measurement| 计算工作量| 20 |15||
|Postmortem & Process Improvement Plan |事后总结,并提出过程改进计划| 20 |25||

posted @ 2020-12-09 00:39  阿渣熊  阅读(108)  评论(0编辑  收藏  举报