《软件系统工程 详细设计.pptx》由会员分享,可在线阅读,更多相关《软件系统工程 详细设计.pptx(95页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、总总 目目 录录第1章 软件工程学概述第2章 可行性研究第3章 需求分析第4章 形式化说明技术第5章 总体设计第6章 详细设计第7章 实现第1页/共95页总总 目目 录录第8章 维护第9章 面向对象方法学引论第10章 面向对象分析第11章 面向对象设计第12章 面向对象实现第13章 软件项目管理第2页/共95页第六章 详细设计回答的关键问题:“怎样具体地实现这个系统”主要任务是设计出程序的“蓝图”,供程序员日后根据这个蓝图编写出实际的程序代码。注意:设计程序的蓝图,不是具体地编写程序。设计程序主要采用结构化的程序设计方法。第3页/共95页主要任务:编写详细设计说明书为此,设计人员应:(1)确定
2、每个模块的算法,用工具 表达算法的过程,写出模块的 详细过程性描述。(2)确定每一模块的数据结构。(3)确定模块接口细节。详细设计是编码的先导。第4页/共95页6.1 结构程序设计6.2 人机界面设计6.3 过程设计的工具6.4 面向数据结构的设计方法6.5 程序复杂程度的定量度量第5页/共95页6.16.1 结构化程序设计结构化程序设计(SP)(SP)方法方法传统的设计技术和旧观念:强调设计的随意性,具有浓厚的个人色彩.追求程序效率和个人设计技巧新的设计思想和风格:清晰第一使用标准的、规范的控制结构逐步细化第6页/共95页1.什么是结构程序设计结构程序设计是一种设计程序的技术,它采用自顶向下
3、逐步求精的设计方法和单入口单出口的控制结构。第7页/共95页2.逐步求精的含义详细设计阶段逐步求精的含义:把一个模块的功能逐步分解细化为一系列具体的处理步骤或某种高级语言的语句。总体设计阶段逐步求精的含义:把一个复杂问题的解法分解和细化成一个由许多模块组成的层次结构的软件系统。第8页/共95页3.结构程序设计技术的优越性(1)自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律,因此可以显著提高软件开发工程的成功率和生产率。(2)用先全局后局部、先整体后细节、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构,因此容易阅读和理解。(3)不使用GO TO语句仅使用单入口单出口的控制结构,使得
4、程序的静态结构和它的动态执行情况比较一致,易于阅读和理解。第9页/共95页(4)控制结构有确定的逻辑模式,编写程序代码只限于很少几种直截了当的方式,因此源程序清晰流畅。(5)程序清晰和模块化使得在修改和重新设计一个软件时可以重用得代码量最大。(6)程序的逻辑结构清晰,有利于程序正确性证明。第10页/共95页6.1 结构程序设计6.2 人机界面设计6.3 过程设计的工具6.4 面向数据结构的设计方法6.5 程序复杂程度的定量度量第11页/共95页 6.2 人机界面设计 人机界面(Human Computer Interface,简称HCI)通常也称为用户界面界面设计主要包括三个方面:设计软件构件
5、之间的接口设计模块和其他非人的信息生产者和消费者的界面设计人(如用户)和计算机间的界面 第12页/共95页 1 界面的设计原则分析用户类型应用程序和界面分离一致性尽量减少用户工作提供反馈出错处理和帮助功能增加可视化图形表示第13页/共95页黄金规则 在有关界面设计的著作中,Theo Mandel创造了三条黄金原则:置用户于控制之下减少用户的记忆负担保持界面一致 第14页/共95页黄金规则:置用户于控制之下 Mandel定义的一组允许用户操作控制的原则:以不强迫用户进入不必要的或不希望的动作的方式来定义交互方式提供灵活的交互允许用户交互可以被中断和撤消当技能级别增加时可以使交互流水化并允许定制交
6、互使用户隔离内部技术细节设计应允许用户和出现在屏幕上的对象直接交互第15页/共95页黄金规则:减少用户的记忆负担 Mandel定义了一组设计原则,使界面能够减少用户记忆负担:减少对短期记忆的要求建立有意义的缺省定义直觉性的捷径界面的视觉布局应该基于真实世界的隐喻以不断进展的方式揭示信息第16页/共95页第17页/共95页缺省值第18页/共95页黄金规则:保持界面一致 用户应以一致的方式展示和获取信息所有可视信息的组织均按照贯穿所有屏幕显示所保持的设计标准输入机制被约束到有限的集合,在整个应用中被一致地使用从任务到任务的导航机制被一致地定义和实现 Mandel定义了一组帮助保持界面一致性的设计原
7、则允许用户将当前任务放入有意义的语境在应用系列内保持一致性如过去的交互模型已建立起了用户期望,除非有迫不得已的理由,不要改变它第19页/共95页2 用户友好性设计 用户友好性一般属软件的性能特性,它独立于所有具体功能,却影响着所有功能的重用性。用户友好性应体现在与用户有接口的软件特性上。用户友好性的根本目的是为了软件可重用性、可维护性。第20页/共95页用户友好性的标志可操作性健壮性易学习性可扩展性 第21页/共95页3 反馈响应时间(系统延迟)系统闭合等级:极限闭合等级:15秒复杂闭合等级:415秒简单闭合等级:24 秒最简单闭合等级:12 秒瞬时响应:20 20 20 20 15%15%5
8、%5%20%20%30%30%条件类别四种条件组合操作条件组合下操作的执行1 16,10,116,10,11月第72页/共95页处理名:计算折扣率(MHGP534MD)编号:5.3.4激活条件:收到预订票信息处理逻辑:计算折扣率执行频率:实时旅游时间订 票 量折 扣 量7 79 9,1212月1 16,10,116,10,11月20202020 20 20 20 20 15%15%5%5%20%20%30%30%第73页/共95页5 判定树判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。优点:形式简单,不需任何说明,易看出含义,易于掌握和使用。缺点:简洁性不如判定
9、表,相同的数据元素往往要重复写多遍,而且越接近树的叶端重复次数越多。第74页/共95页判定树(Decision 决策树)条件1 条件2 结果计 79,订票量20:15%算 12月 订票量20:5%折扣 16,订票量20:30%量 10,11月 订票量20:5%第75页/共95页6 过程设计语言PDLPDL也称为伪码,是用正文形式表示数据和处理过程的设计工具。PDL具有严格的关键字外部语法,用于定义控制结构和数据结构;另一方面,PDL表示实际操作和条件的内部语法通常又是灵活自由的,以便可以适应各种工程项目的需要。第76页/共95页结构化语言 介于自然语言和形式语言之间的语言结构化语言的特点:无确
10、定语法可分层、嵌套第77页/共95页处理名:核实订票处理(MHGP3200MD)编号:3.2激活条件:收到取订票信息处理逻辑:1读订票旅客信息文件 2搜索此文件中是否有与输入信息 中姓名及身份证号相符的项 IF 有 THEN 判断余项是否与文件中信 息相符 IF 是 THEN 输出已订票信息 ELSE 输出未订票信息 ELSE 输出未订票信息执行频率:实时第78页/共95页系统流程图系统流程图 早于DFD的一种建模工具。以图形方式说明系统中的控制流和数据流。第79页/共95页系统流程图示例系统流程图示例初始处理数据检查、库存询问、库存分配定货处理帐单处理启动定货销售工作结束定货或询问显示数据顾
11、客文卷库存文卷库存文卷接受的定货文卷临时定货文件显示选择查问库存的初始显示输入查询输入错询问回答检查定货单说明定货单发票询问定货第80页/共95页第81页/共95页6.1 结构程序设计6.2 人机界面设计6.3 过程设计的工具6.4 面向数据结构的设计方法6.5 程序复杂程度的定量度量第82页/共95页6.4 Jackson程序设计方法 1.Jackson图(1)顺序结构顺序结构的数据由一个或多个数据元素组成,每个元素按确定次序出现依次。第83页/共95页(2)选择结构选择结构的数据包含两个或多个数据元素,每次使用这个数据时按一定条件从这些数据元素中选择一个。第84页/共95页(3)重复结构重
12、复结构的数据,根据使用时的条件由一个数据元素出现零次或多次构成。第85页/共95页Jackson图的优点便于表示层次结构,而且是对结构进行自顶向下分解的有力工具。形象直观可读性好 既能表示数据结构,也能表示程序结构 第86页/共95页2.改进的Jackson图P121 图6.11。第87页/共95页3.Jackson方法(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson图描绘这些数据结构。(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。所谓有对应关系是指有直接的因果关系,在程序中可以同时处理的数据单元第88页/共95页 (3)用下述三条规则从描绘数据结构的Jackso
13、n图导出描述程序结构的Jackson图为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框。注意:如果这对数据单元在输入数据结构和输出数据结构中所处的层次不同,则和它们对应的处理框在程序结构图中所处的层次与它们之中在数据结构图中层次低的那个对应。根据输入数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。根据输出数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。第89页/共95页(4)列出所有操作和条件(包括分支条件和循环结束条件),并且把它们分配到程序结构图的适当位置。(5)用伪码表示程序。第90页/共95页6.5 程序复杂程度的定量度量一、McCabe方法画程序图1.环形复杂度的计算方法 V(G)=m-n+pV(G)是有向图G中的环数m是有向图G中的弧数n是有向图G中的节点数P是有向图G中分离部分的数目2.环形复杂度的用途第91页/共95页第92页/共95页第93页/共95页二、Halstead方法令N1为程序中运算符出现的总次数,N2为操作数出现的总次数,程序长度N定义为:Halstead给出预测程序长度的公式如下:Halstead还给出了预测程序中包含错误的个数的公式如下:第94页/共95页感谢您的观看!第95页/共95页
限制150内