(2)掌握分层数据流图的绘制、数据字典和加工说明的编制;
(3)掌握数据流图映射为软件结构图的方法;
(4)掌握需求说明书和设计说明。书的主要内容,学习软件需求说明书和设计说明书的编写;
(5)掌握测试的基本方法。
(1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求;
(2)绘制系统的分层数据流图,并给出数据字典;
(3)将系统的分层数据流图映射为软件结构图,绘制软件结构图;
(4)为关键模块进行详细设计,如绘制关键模块的流程图;
(5)实现系统部分功能并测试。
【实例1】机票预订系统
参考:
为了方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行
机票给顾客
【实例2】教材订购系统
销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领
书单,教师或学生即可去书库领书。
采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书单通知给教材发
行人员。
【实例3】图书管理系统
(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;图书管理系统的主要功能为两部分:一是销售系统;二是采购系统。1.销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生即可去书库领书。2.采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员,以上的功能要求在计算机上实现。
数据字典各部分的描述
①数据项:数据流图中数据块的数据结构中的数据项说明数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}
1.数据项名称:学号数据项含义说明:某个学生的代码别名:学生编号类型:字符型长度:10位取值范围:0000000001~9999999999取值含义:入学学年+学院代码+专业代码+班级代码+班级顺序号与其他数据的逻辑关系:借阅单,缺书单
2.数据项名称:老师编号数据项含义说明:某个老师的代码别名:老师编号类型:字符型长度:10位取值范围:0000000001~9999999999取值含义:入职学年+学院代码+教授专业代码+教师顺序号与其他数据的逻辑关系:借阅单,缺书单
3.数据项名称:图书编号数据项含义说明:某个图书的代码别名:图书码类型:字符型长度:12位取值范围:000000000001~999999999999取值含义:图书类型+购买日期(年月日)+图书顺序号与其他数据的逻辑关系:借阅单,购书单,缺书单
4.数据项名称:书库管理人员编号数据项含义说明:某个书库管理人员的代码别名:书库管理人员编号类型:字符型长度:10位取值范围:0000000001~9999999999取值含义:入职日期(年月)+身份证后两位+书库管理人员顺序号与其他数据的逻辑关系:购书单
5.数据项名称:图书名称数据项含义说明:某个图书的名字别名:书名类型:字符型长度:50位取值范围:无取值含义:记录图书名称与其他数据的逻辑关系:借阅单,购书单,缺书单
6.数据项名称:姓名数据项含义说明:某个学生或老师或书库管理人员的名称别名:名字类型:字符型长度:20位取值范围:无取值含义:记录人的名称与其他数据的逻辑关系:借阅单,购书单,缺书单
②数据结构:数据流图中数据块的数据结构说明数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
1.数据结构名:借阅单含义说明:借阅图书的证明组成:学号/老师编号+学生姓名/老师姓名+图书编号+图书名称+数量+借阅日期+归还日期
2.数据结构名:购书单含义说明:书库管理人员购置新图书的证明组成:书库管理人员编号+书库管理人员姓名+图书编号+图书名称+购置日期+数量+价格
3.数据结构名:缺书单含义说明:学生或老师有需求但图书馆未购置的图书信息,也是书库管理人员购置新图书的参考依据组成:学号/老师编号+学生姓名/老师姓名+缺书信息(图书类型,图书名称)+缺书数量
3.数据存储名:缺书信息表说明:登记缺书信息编号:003流入的数据流:P1.6流出的数据流:P1.5组成:书名+价格+缺书数量
⑤处理过程:数据流图中功能块的说明处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}
2.处理过程名:购书审核说明:判断购书单中的书籍是否值得被购买输入:图书信息表,购书单输出:图书登记处理处理:根据购书单中的图书信息在图书信息表中进行查询,对比其中的书籍类型和书籍数量,再进行人工判断审核,审核通过后,购买图书,并将新购入的图书进行图书登记处理。
(1)简述需求说明书,概要设计,详细设计说明书的主要内容。需求说明书是指在研究用户要求的基础上,完成可行性分析和投资效益分析以后,在需求分析阶段需要完成的文档,是软件需求分析的最终结果。软件需求说明书的编制是为了使用户和软件开发者双方对该软件的运行环境、功能和性能需求的初始规定有一个共同的理解,使之成为整个开发工作的基础,为概要设计提供需求说明。概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。这是一个在用户研究和设计之间架起桥梁,使用户研究和设计无缝结合,将对用户目标与需求转换成具体界面设计解决方案的重要阶段。详细设计说明书的主要内容是说明一个软件系统各个层次中的每个程序(每个模块或子程序),为程序员编写程序提供依据。如果一个软件系统比较简单,层次很少,本部分可以不单独编写,有关内容合并入概要设计说明书中。
(2)结构化分析方法与面向对象分析方法有无本质上的不同?结构化系统分析方法是采用“自顶向下,由外到内,逐层分解”的思想对复杂的系统进行分解化简,从而有效地控制了系统分析每一步的难度,并运用数据流图、加工说明和数据字典作为表达工具的一种系统分析技术。面向对象的分析方法则是通过将数据和逻辑结构抽象成为对象,运用对象属性和方法等来操作和处理业务数据和逻辑的系统分析方法。两者的区别在于:当软件项目较小、系统分析员能力足够高的时候,结构化方法能快速的找到最简洁、高效率的逻辑模型,结构化方法对复杂问题的帮助有限,而面向对象的分析方法提供了一种方便的、可持续观测和扩展系统的机制,通过信息隐藏和封装等手段屏蔽了对象内部的执行细节,控制了错误的蔓延,对于需求变化频繁的系统,可以用面向对象软件系统的方法。两种方法不是对立的,可在项目中结合使用。
(3)对数据流图进行审查有何意义?对数据流图进行审查的主要目的是尽早发现数据流图中各项需求分析和设计中的缺陷与错误,并对其进行纠错与改正。在分析的与画出数据流图的一开始并不能获得完美的数据流图,而对数据流图不断进行审查与改善便能是数据流图趋近于完美。(4)给出一次完整的会议讨论纪要,包括议题,最终结果。会议讨论纪要:议题:需求分析和具体设计哪部分需要做的更好。会议概述:根据需求说明书和设计说明书两这的区别判断在程序化设计过程中应在哪部分中投入较为更多的精力。会议地点:C座603参会人员:实验同组人员最终结果:应在需求说明书部分投入更多精力,因为搞系统的时候要始终明白用户在想什么,要解决什么问题。当需求设计完美完成后,具体设计也能很好地完成,反之如果没弄好需求分析,那么在具体设计过程中会陷入目的不明确的迷茫之中。
通过本次结构化分析与设计,我对结构化的需求分析方法有了更清晰的认知,其次,在刚开始进行实验时,我对实验过程中的每个部分都分析了一遍,但总是不能有很明确的认知,不知道该如何开始,但当实际动手来查阅资料与自行分析过后,慢慢的就能完成实验。并且,在实验过程中不断遇到兵解决问题的过程使我受益匪浅。