实验二
作业信息
博客班级 | 软件工程导论-计算机18级 |
---|---|
作业要求 | 作业要求 |
作业目标 | 掌握结构化的需求分析方法和设计方法 |
学号 | 3180701342 |
一、实验目的
(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】图书管理系统
三.实验步骤
(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)简述需求说明书,概要设计,详细设计说明书的主要内容。
需求说明书叙述该项目开发的意图、应用目标、作用范围以及其它应向读者说明的有关该软件开发的背景材料。解释被开发软件与其它有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。
概要设计主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。
详细设计说明书编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关 内容合并入概要设计说明书。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?
当软件项目较小、系统分析员能力足够高的时候,结构化方法能快速的找到最简洁、高效率的逻辑模型,结构化方法对复杂问题的帮助有限,而面向对象的分析方法提供了一种方便的、可持续观测和扩展系统的机制,通过信息隐藏和封装等手段屏蔽了对象内部的执行细节,控制了错误的蔓延,对于需求变化频繁的系统,可以用面向对象软件系统的方法。
(3)对数据流图进行审查有何意义?
检查数据流图的正确性
提高数据流图的易礼节性
简化加工间的联系
(4)给出一次完整的会议讨论纪要,包括议题,最终结果。
一篇会议纪包含以下内容:标题、会议概述、主要议题、会议内容和后续工作。
标题:
建议格式为会议名称+纪要
会议概述:
说明会议主题,会议时间,地点,参会人员。建议用表格的形式列出。
主要议题:
先概括性的说明会议的主要议题,用尽量简短的语言概括会议主题。可增加解释性语句。比如:会议主要议题:大客户营销系统总体需求讨论。
会议内容:
根据会议流程,记录与会者的主要观点以及在讨论后各方达成了什么共识,制定了什么方案等等。建议给会议内容分类、分点的记录,让读者更直观的了解会议内容。
后续工作:
这部分需记录会后各方的工作,包括会议敲定事情的工作计划、时间节点、负责人、汇报人等信息;还需记录经过会议尚未结局的事情,记录后续跟进的各事项。