软件开发流程实训教程教学课件杜文洁第5章

上传人:w****i 文档编号:94568182 上传时间:2019-08-08 格式:PPT 页数:45 大小:549.50KB
返回 下载 相关 举报
软件开发流程实训教程教学课件杜文洁第5章_第1页
第1页 / 共45页
软件开发流程实训教程教学课件杜文洁第5章_第2页
第2页 / 共45页
软件开发流程实训教程教学课件杜文洁第5章_第3页
第3页 / 共45页
软件开发流程实训教程教学课件杜文洁第5章_第4页
第4页 / 共45页
软件开发流程实训教程教学课件杜文洁第5章_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《软件开发流程实训教程教学课件杜文洁第5章》由会员分享,可在线阅读,更多相关《软件开发流程实训教程教学课件杜文洁第5章(45页珍藏版)》请在金锄头文库上搜索。

1、第5章 详细设计,【本章引言】 在软件概要设计中,已将图书馆书目查询管理系统划分 为多个模块,并将它们按照一定的原则组装起来,同时 确定了每个模块的功能及模块与模块之间的外部接口。 详细设计是软件设计的第二阶段,这一步的工作,就是 要在上述结果的基础上,考虑“怎样实现”图书馆书目查 询管理系统,直到对系统中的每个模块给出足够详细的 过程性描述。 【教学目标】 了解软件详细设计的基本任务和原则; 掌握系统功能模块结构的划分; 掌握图书馆书目查询管理系统的详细设计过程。,第五章 详细设计,5.1 软件详细设计的任务 5.2 图书馆书目查询管理系统 的设计,5.1 软件详细设计的任务,软件详细设计阶

2、段就是为每个模块完成的功能进行具体描述,要把功能描述转变为精确的、结构化的过程描述。即该模块的控制结构是怎样的,先做什么,后做什么,有什么样的条件判定,有些什么重复处理等,并用相应的表示工具把这些控制结构表示出来。 软件详细设计以概要设计阶段的工作为基础,但又不同于概要设计,主要表现在以下两个方面:在概要设计阶段,数据项和数据结构以比较抽象的方式描述,而在详细设计阶段则在此基础上给出了足够详细的描述;在详细设计阶段为每个模块增加了足够多的细节后,程序员才能以相对直接的方式进行下一阶段的编码工作。,5.1 软件详细设计的任务,5.1.1 软件详细设计的基本任务 5.1.2 软件详细设计的原则,5

3、.1.1 软件详细设计的基本任务,软件详细设计也称“过程设计”,其基本任务如下: 1.算法过程的设计 选择某种图形、表格、语言等合适的工具,表示每个处理过程的详细算法。 2.数据结构的设计 对于处理过程中涉及的概念性数据类型进行确切的定义。 3.数据库物理设计 主要确定那些依赖于具体使用的数据库系统的数据存储记录格式、存储方法和存储记录安排等。 4.信息编码设计 信息编码是指将某些数据项的值用某一代号来表示,以提高数据的处理效率。在进行信息编码设计时,要求编码具有下述特点:,5.1.1 软件详细设计的基本任务,实用性。 代码要尽可能反映编码对象的特点,特别是要符合图书馆书目查询管理系统的要求,

4、方便使用。 唯一性。 一个代码只反映一个编码对象。 灵活性。 代码应该能适应编码对象不断发展的需要,方便修改。 简洁性。 代码结构应尽量简单,位数要尽量少。 一致性。 代码格式要统一规划。 稳定性。 代码不宜频繁变动。,5.1.1 软件详细设计的基本任务,5.测试用例的设计 测试用例包括输入数据和预期结果等内容。由于进行详细设计的软件人员对具体过程的要求最清楚,因而由他们设计测试用例是最合适的。 6.其他设计 根据软件系统的具体要求,还可能进行网络系统的设计输入输出格式设计、人机对话设计、系统配置设计等。 7.编写“详细设计说明书” 编写“详细设计说明书”是详细设计阶段最重要的任务,要根据软件

5、项目的规模和系统的实际要求,按照“详细设计说明书”编写的规范,编写出能准确、详细地描述具体实现的文档。,5.1.2 软件详细设计的原则,为了确保能够得到高质量的图书馆书目查询管理系统,在面向对象程序的详细设计阶段必须遵守一些基本原则。 可复用性 面向对象系统方法的一个主要目标就是要提高系统的可复用性。系统的可复用性有多个层次,在面向对象程序的详细设计阶段主要考虑编码时的代码复用问题。复用应遵守的一些主要准则是: (1) 保证方法的内聚性。 类的一种方法只完成一个功能或一组密切相关的功能。若类的一种方法涉及多个不相关的功能,应该把它分解成多个方法。 (2) 减少一个方法的代码规模。 如果实现一个

6、方法的代码太长,应该考虑把它分解成更小的方法来实现。,5.1.2 软件详细设计的原则,(3) 保持方法对外接口的一致性。 相同或相似的方法应该保持一致的名称、参数、返回值、条件等。 (4) 分离策略方法和实现方法。 从所完成的功能看,有两种类型的方法:一种类型的方法负责做出决策,提供变元,管理全局资源,称为策略方法;另一种类型的方法负责完成具体的操作,但不做出是否执行这个操作的决定,也不知道为什么执行这个操作,这一类方法称为实现方法。策略方法应该检查系统的运行状态,并处理出错情况,但不直接完成具体的计算或实现复杂的算法。策略方法通常紧密依赖于具体的应用,程序的编写比较容易,也比较容易理解。实现

7、方法仅仅针对具体数据完成特定的处理,通常用于实现复杂的算法。实现方法并不制定策略,也不管理全局资源,也不对错误进行处理(只是返回错误状态)。由于实现方法是自含式算法,相对独立于具体应用,因此可以复用它们。,5.1.2 软件详细设计的原则,(5) 方法应均匀覆盖数据。 如果方法只覆盖了操作数据的一部分,应该增加覆盖其他部分的方法。例如,若存在一个方法获得“表”对象的第一个元素,则相应地应该增加一个方法来获得“表”对象的最后一个元素。 (6) 加强封装性。 应尽量操作对象内部的数据。而避免操作全局数据。 (7) 减少方法的耦合性。 (8) 利用继承机制。 在面向对象程序中,使用继承机制是实现共享和

8、提高可复用性的主要方法。,5.1.2 软件详细设计的原则,可扩展性 可扩展性是软件质量的一个重要指标。面向对象技术的继承机制和多态性机制使得程序代码具有很好的可扩展性。在面向对象程序设汁中,通常依据下面几个准则来增强代码的可扩展性: 封装数据。 通常类的内部数据对其他类是隐藏的,应该把这些数据封装起来。其他类只能通过该类的方法才能访问这些数据。 封装方法内部的数据结构。 方法内部的数据结构通常是为实现方法的算法而设计的。因此,不应该从方法外部获取这些数据结构,否则就失去了改变算法的灵活性。,5.1.2 软件详细设计的原则,避免情况分支语句。 情况分支语句可以用来测试对象内部的属性,但不能用来根

9、据对象类型选择相应的行为。因为如果这样做,在增加新类时将不得不修改原有的代码。因此,考虑到合理地利用多态性机制,应当根据对象当前的类型,自动决定应有的行为。 区分公有方法和私有方法。 公有方法是对象的对外接口,其他对象只能使用公有方法访问该对象。公有方法通常不应该修改和删除,否则会导致整个系统的全面修改。私有方法是对象内部的方法,通常用来辅助实现公有方法,对外是不可见的。区分公有方法和私有方法可以避免程序员卷入不必要的内部细节当中。,5.1.2 软件详细设计的原则,健壮性 健壮性是指程序在执行的过程中遇到错误的输入或错误的对象状态时,仍能保持方法不会出错的能力。但过于考虑健壮性必然会影响执行效

10、率,因此需要对两者进行权衡。下面给出一些有关健壮性的设计准则: 防止输入错误。 程序编码时应该考虑用户输入可能出现的错误情况。在用户输入出错时不应该中断方法的执行。如果出现了非常致命的错误也应该以对话框或其他友好的形式予以提示。 把握优化代码的时机。,5.1.2 软件详细设计的原则,有些程序员往往花费了大量的时间来提高某些代码的效率。但是,大量的性能测试表明,这种努力对效率提高并不明显。因此,程序员在编码时应该仔细研究,找出那些关键的并且是执行频率高的部分,然后再进行优化。 选择适当的实现方法。 如果有多种方法实现同一个算法,自然应该在内存消耗、执行速度、实现的难易程度等几个方面进行综合考虑。

11、 检查参数的合法性。 对于公有方法的参数,必须严格检查对参数的约束,因为外部用户可能不会遵守参数的合法性条件。但是,对于私有的内部方法,常常假定参数是合法的,这样可以提高执行效率。,5.1.2 软件详细设计的原则,协作性 随着系统的规模越来越大,程序设计也越来越复杂,因此,通常需要多个程序员系统工作以完成程序的编码。协同工作时候,首要考虑的是人和人之间的交流和通信。面向对象技术使这种通信尽可能的少,但是适当的交流还是不可缺少的。有关协作方面的考虑主要应该遵循以下准则: 在程序设计开始之前进行周密的考虑; 尽量使代码容易理解; 在对象模型中使用相同的名称; 把类打包成模块; 对类进行详细的文档化

12、; 公开公有的设计说明书。 至此,我们明确了软件详细设计的任务和原则,接下来我们要对图书馆书目查询系统的进行详细设计。,5.2 图书馆书目查询管理系统的设计,系统设计(System Designs)阶段的主要目的是在系统分析提出的反映用户需求的逻辑方案的基础上,科学合理地将逻辑方案转换成可以实施的物理(技术)方案。即根据系统分析说明书中的系统逻辑模型,综合考虑各种约束,利用一切可用的技术手段和方法,进行各种具体设计,确定新系统的实施方案,解决“系统怎么做”的问题。,5.2 图书馆书目查询管理系统的设计,5.2.1 系统功能模块结构 5.2.2 系统详细设计,5.2.1 系统功能模块结构,根据结

13、构化设计方法的基本思想,自顶向下将图书馆书目查询管理系统分解成若干具有层次式的“模块”,实行模块化设计。在系统设计中,关心的是模块的外部属性,即上下级模块、同级模块之间的数据传递和调用关系,而不关心模块的内部。也就是只关心它是什么,它能够做什么的问题,而不关心它是如何去做的。 根据系统分析和图书馆工作实际,本系统主要分为读者信息管理、图书编目、图书借还续借、系统设置管理、读者书目查询等5大模块,如图5-1所示。 根据图书馆业务划分,自顶向下,对每一模块继续进行细分,得到一系列模块。由于图书馆书目查询管理系统较为复杂,在此仅对主要模块进行分析。 如图5-2所示为读者信息管理模块的分解。 如图5-

14、3为图书编目模块的分解。 如图5-4为图书借还续借模块的分解。,5.2.1 系统功能模块结构,图5-1 图书馆书目查询管理系统功能模块图,5.2.1 系统功能模块结构,图5-2 读者信息管理功能模块图,5.2.1 系统功能模块结构,图5-3 图书编目功能模块图,5.2.1 系统功能模块结构,图5-4 图书借还续借功能模块图,5.2.1 系统功能模块结构,如图5-5为系统设置管理模块的分解。,图5-5 系统设置管理功能模块图,5.2.1 系统功能模块结构,如图5-6所示为读者信息查询模块的分解。,5.2.2 系统详细设计,1.系统登录 图书馆书目查询管理系统按照其实现的功能来划分,主要分为两个主

15、要功能模块,前台读者书目查询模块和后台管理员管理模块。下面我们来介绍后台管理员管理的系统登录,首先在UUser表中建立一个管理员账号,设置好用户名和密码。图5-7为管理员登录窗口。 图5-7 管理员登录窗口,5.2.2 系统详细设计,程序工作流程如图5-8所示:,图5-8 系统登录程序工作流程图,5.2.2 系统详细设计,2.读者信息管理模块的设计 根据图书馆工作实际,读者需要参加图书馆入馆培训之后才能开通图书馆借阅权限,读者注册工作由图书馆技术部批量注册读者信息。读者信息电子文档由学生处提供,可以直接转入到SQl数据库中。下面我们来介绍对单个读者信息管理的过程。图5-9为读者信息添加模块。在

16、输入读者姓名时,NameShow控件上可以对姓名进行醒目显示,便于管理员进行检查。在输入身份证号时,TextBox2控件对其进行输入验证,在输入电话号码时,TextBox3控件对其进行输入验证。,5.2.2 系统详细设计,图5-9 读者信息管理模块窗口,5.2.2 系统详细设计,图5-10 读者信息管理窗口,图5-11 读者证件挂失窗口,5.2.2 系统详细设计,3.图书编目模块的设计 图书编目是图书馆书目查询管理系统的重要组成部分,图书编目工作是图书馆最重要的业务工作之一。根据编目工作的基本内容,大致可分为以下几个部分: (1)图书验收; 对待编图书进行接收、核对、清点和验收。 (2)图书查重; 将待编图书与已有图书进行查重,以确认是否为复本、多卷书或新进图书。 (3)分类编目; 这一部分工作包含了两个层面:一是采用特定的格式和规定的语言对待编图书进行外部特征描述和书目著录,也就是编目。二是对待编图书的内容依一定的体系进行揭示和标引,业内称之为分类标引和主题标引。这两方面一般统称为分类编目工作(亦简称为分编)。,XXXX年XX月XX日 设计者:XXX,5.2.2 系统详细设计,(

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号