外部设计

上传人:我** 文档编号:111600989 上传时间:2019-11-02 格式:DOC 页数:10 大小:717.50KB
返回 下载 相关 举报
外部设计_第1页
第1页 / 共10页
外部设计_第2页
第2页 / 共10页
外部设计_第3页
第3页 / 共10页
外部设计_第4页
第4页 / 共10页
外部设计_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《外部设计》由会员分享,可在线阅读,更多相关《外部设计(10页珍藏版)》请在金锄头文库上搜索。

1、11第1章 外部设计第1章 外 部 设 计本章提示软件外部设计是软件开发中一个承上启下的重要阶段,是后续开发步骤及软件维护工作的基础。在需求分析阶段内,由系统分析人员对被设计的系统进行系统分析,确定对该软件的各项功能、性能需求和设计约束,确定对文件编制的要求,作为本阶段工作的结果,一般地说,需要确定软件需求说明书、数据要求说明书和初步的用户手册。而软件的外部设计就是在系统需求说明的基础之上,以需求分析所产生的文档为依据,着手系统开发的准备工作和设计实现“需求”的软件体系结构,简称软件结构。系统开发的准备工作主要包括选择开发方法、准备开发环境和制定开发计划等工作。这一阶段确定软件结构的具体任务是

2、将系统分解成子系统,确定各子系统的功能及调用关系,处理流程,将用户的需求分配到适当的位置上去,得出系统的结构图。为了得到好的系统结构,需要一组标准化准则和工具。这一阶段要形成的文档主要包括系统配置图、各子系统关系图、系统流程图、系统功能说明书、输入输出规格说明、数据规格说明、用户手册框架、系统测试要求等。本章将根据考试大纲的要求,全面地介绍理解系统需求说明、系统开发的准备和设计系统功能、设计数据模型、编写外部设计文档和设计评审等方面的主要知识点,并重点介绍其中的难点,在详细的典型例题分析之后,还将给出适量的模拟训练题,以加深对这些知识的理解。图1-1是本章的知识框图。图1-1 外部设计知识框图

3、1.1 理解系统需求说明系统需求是系统或软件必须达到的目标和能力,即给出“开发什么”的问题,是否符合系统需求是衡量软件开发成败的最重要标准。随着计算机技术的飞速发展,软件已经成为人们生活中不可缺少的一部分。人们在使用软件的过程中,常常会抱怨它无法执行某些基本操作。但对于软件开发人员而言,用户不断提出新的要求是一件麻烦的事。其实,在软件开发过程中遇到的许多问题,都是由于收集、编写、协商、修改软件需求过程中的失误造成的,诸如信息收集不全、功能不明确、交流不充分、文档不完善、需求发生变化等。开发软件系统最为困难的部分就是准确说明开发什么。如果软件需求设计不合理,将会给系统带来极大的损害,同时对以后的

4、修改带来极大的困难。因此,完全理解软件需求对软件开发的成功起着至关重要的作用。理解系统需求说明也是进行软件外部设计的首要工作,而且是外部设计是否成功的关键工作之一。只有在对系统需求充分理解的基础上,才可能给出良好的软件外部设计。此阶段的主要工作是阅读和理解软件需求说明书,确认用户要求能否实现,明确实现的条件,从而确定设计的目标以及它们的优先顺序。如图1-2所示是本节的知识框图。图1-2 理解系统需求说明知识框图1考点提炼(1)系统需求说明书软件需求规格说明是需求分析的最终结果,通过建立详细的功能和行为描述、完整的性能需求和设计约束的说明以及恰当的验收标准,精确地阐述一个软件系统必须提供的功能和

5、性能以及它所要考虑的限制条件。软件需求规格说明不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。系统需求说明书具有以下主要作用: 软件需求规格说明是用户、分析人员和设计人员之间进行理解和交流的手段。 测试人员可以根据软件需求规格说明中对产品行为的描述,制定测试计划,设计测试用例和测试过程。 文档人员根据软件需求规格说明和用户界面设计编写用户手册等。 软件需求规格说明指导整个系统的开发过程,评审过的需求规格说明需要进行变更控制。下面给出一个系统需求说明书的模板。T1引言T1.1编写目的说明编写这份软件需求说明书的目的,指出预期的读者。T1.2背景说明:a待开发的软件系统的

6、名称;b本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;c该软件系统同其他系统或其他机构的基本的相互来往关系。T1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。T1.4参考资料列出所需的参考资料,如:a本项目的经核准的计划任务书或合同、上级机关的批文;b属于本项目的其他已发表的文件;c本文件中所引用的文件、资料,包括所要用到的软件开发标准。列出这些文件和资料的标题、文件编号、发表日期和出版单位,并说明这些文件与资料的来源。T2任务概述T2.1目标叙述本次软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他

7、有关软件之间的关系。如果本软件产品是一个独立的软件,而且全部内容自含,则应说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。T2.2用户的特点列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长以及本软件的预期使用频度。这些是软件设计工作的重要约束。T2.3假定和约束列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。T3需求规定 T3.1对功能的规定用列表的方式(例如IPO表即输入、处理、输出表的形式)逐项定量和定性地叙述对软件所

8、提出的功能要求,说明输入量、处理过程以及输出结果,说明软件应支持的终端数和应支持的并行操作的用户数。T3.2对性能的规定T3.2.1精度说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。T3.2.2时间特性要求说明对于该软件的时间特性要求,如对以下时间的要求:a响应时间;b更新处理时间;c数据的转换和传送时间;d解题时间。T3.2.3灵活性说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:a操作方式上的变化;b运行环境的变化;c同其他软件的接口的变化;d精度和有效时限的变化;e计划的变化或改进。对于为了提供这些灵活性而进行的专门设计的部分应该加

9、以标明。T3.3输入输出要求解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。T3.4数据管理能力要求说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求做出估算。T3.5故障处理要求列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。T3.6其他专门要求如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。T4运行环境规定T4

10、.1设备列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:a处理器型号及内存容量;b外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;c输入及输出设备的型号和数量,联机或脱机;d数据通信设备的型号和数量;e功能键及其他专用硬件。T4.2支持软件列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。T4.3接口说明该软件同其他软件之间的接口、数据通信协议等。T4.4控制说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。(2)理解系统需求说明需求分析阶段的主要任务是用户和软件人员双方一起来充分地理解用户的要求,并把双方共同的理解准确地表达成

11、一份书面文档系统需求说明书。系统说明书通常包括功能要求、性能要求、可靠性要求、安全保密要求以及开发费用、开发周期、可使用的资源等方面的限制,其中功能要求是最基本的,它又包括数据要求和加工要求两方面。所以,软件阶段的任务是理解软件系统“做什么”,而不是急于考虑“怎么做”。在具体实行时可以以问答的方式进行思考,比如: 用户所期望的功能和性能是什么; 可靠性和质量问题是哪些; 总的系统目标是什么; 成本与进度限制如何; 市场与竞争情况怎样; 有效的技术有哪些。2难点解析(1)理解系统需求的重要性理解系统需求工作作为软件外部设计的开始,对外部设计的质量,进而对整个软件的质量起着重要的影响作用。只有在对

12、系统需求充分理解的基础上,才可能给出成功的软件外部设计。(2)理解系统需求的主要内容理解系统需求通常包括明确用户期望的功能和性能是什么,可靠性和质量问题是哪些,总的系统目标是什么,进行系统开发的假定和约束是什么,运行环境规定是什么等。3典型例题【例1-1】 理解系统需求是软件外部设计前的首要工作。下面通常不属于系统需求说明书内容的是( )。A用户对功能和性能的要求B系统的总体目标 C运行的环境的规定D子系统如何划分【答案】 D【解析】 系统需求是系统或软件必须达到的目标和能力,即给出“开发什么”的问题,而不是“怎么开发的问题”。用户对功能和性能的要求、系统的总体目标和运行的环境的规定都属于理解

13、系统需求的工作,而子系统如何划分是“怎么做”的问题。1.2 系统开发的准备在充分理解了系统的需求之后,就着手系统开发的准备工作。其主要工作包括选择开发方法、准备开发环境、制定开发计划。选择开发方法主要是根据软件特点,选择一种合适的开发方法,是选择结构化开发方法,还是选择面向对象开发方法或其他方法。准备开发环境,主要是准备软件开发的支撑性环境和一些配套的自动化工具等。制定开发计划,就是制定出整个项目的开发进度、人员投入计划、人员的组织以及资源的利用等内容。如图1-3所示是本节的知识框图。图1-3 系统开发准备知识框图1考点提炼(1)结构化软件开发方法结构化开发方法是迄今为止最传统、应用最广泛的一

14、种软件开发方法。结构化系统开发方法的基本思想是,用系统工程的思想和工程化的方法,按照用户至上的原则,结构化、模块化、自顶向下地对系统进行分析与设计。具体来说,结构化开发方法就是先将整个软件系统开发过程划分出若干个相对比较独立的阶段,比如系统规划、系统分析、协调设计、系统实施(系统编码)等。在前三个阶段,坚持自顶而下地对系统进行结构化划分。例如,在给某企业开发管理信息系统时,在需求调查或理顺管理业务时,应从最顶层的管理业务入手,即从组织管理金字塔结构的塔尖入手,层层深入直至最底层。在系统分析、提出新系统方案和系统设计时,应从宏观整体考虑入手,即先考虑系统整体的优化,然后再考虑局部的优化问题。而在

15、系统实施阶段,则应坚持自底向上地逐步组织实施。也就是说,按照前几阶段设计的模块,组织人力从最底层的模块开始编程,然后按照系统设计的结构,将模块一个个拼接到一起进行调试,自底向上、逐渐地构成整体系统。用结构化系统开发方法开发一个系统时,将整个开发过程划分为5个首尾相连的阶段,一般称之为系统开发的生命周期(Life Cycle),如图1-4所示。 系统规划阶段。系统规划阶段的工作就是根据用户的系统开发请求,初步规划并确定系统开发的可行性。系统规划阶段的主要工作有以下两个: 明确问题,初步调查。明确用户要求,初步对对象进行调查。 可行性研究。根据初步调查的结果和用户要求,从技术、经济和社会等方面进行可行性分析,以确定系统有无开发的可行性。如果通过可行性研究,则进入下一个阶段开发。否则停止开发工作进程。图1-4 系统开发生命期 系统分析阶段。系统分析阶段的任务是对系统进行详细的调查和分析。系统分析阶段的主要工作有如下4项。 业务流程分析。详细调查、分析和了解具体的业务流程,并将业务流程优化,最终用业务流程图的方式将优化后的业务流程图确定下来。 数据与数

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

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

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