软件实现技术.ppt

上传人:牧羊曲112 文档编号:6434175 上传时间:2023-10-30 格式:PPT 页数:47 大小:278KB
返回 下载 相关 举报
软件实现技术.ppt_第1页
第1页 / 共47页
软件实现技术.ppt_第2页
第2页 / 共47页
软件实现技术.ppt_第3页
第3页 / 共47页
软件实现技术.ppt_第4页
第4页 / 共47页
软件实现技术.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《软件实现技术.ppt》由会员分享,可在线阅读,更多相关《软件实现技术.ppt(47页珍藏版)》请在三一办公上搜索。

1、第6章 软件实现技术,清华大学出版社,主编贾铁军 甘泉 副主编俞小怡 宋少婷,软件工程与实践,上海市教育高地暨特色专业建设配套教材,高等院校计算机与信息类规划教材,目 录,第6章 软件实现技术,第6章 软件实现技术教学目标 理解软件实现的过程、任务、准则、策略 掌握软件实现的方法、集成与发布 熟练掌握编程技术、风格、编程规范、软件生成技术 掌握相关文档的编写方法及软件工具应用,6.1 软件实现技术概述,6.1 软件实现技术概述 软件实现阶段主要任务是将详细设计的结果转换为计算机程序。解决的主要问题:软件实现的过程、任务、原则及策略,程序设计语言的特性及选择的原则和程序设计风格等。6.1.1 软

2、件实现的过程及任务 1.软件实现的过程 在宏观上,“面向对象实现”的目标是:遵照制定的程序设计规范,按照详细设计说明在宏观上,“面向对象实现”的目标是:遵照制定的程序设计规范,按照详细设计说明书中对数据结构、算法分析和模块实现等方面的要求和说明,从软件企业的函数库、存储过程库、类库、构件库、中间件库中挑选有关的部件,采用面向对象的语言,将相关部件进行组装,分别实现各模块的功能,最终实现新系统的功能、性能、接口、界面等要求。,6.1 软件实现技术概述,在微观上,软件实现是指通过编程、调试、单元与集成测试、系统集成等创建软件产品的过程。软件实现的输入是详细设计说明书,输出是源程序、目标程序和用户指

3、南。如图6-1所示。2.软件实现的任务 软件编程的任务是对“详细设计”的工作进行具体实现,形成计算机可运行的程序。软件实现工作量根据项目性质及规模不同,在整个软件开发过程中约占30%-50%。,图6-1软件实现过程,6.1 软件实现技术概述,6.1.2 软件实现的准则1面向对象实现的准则实现的准则主要包括:(1)高可重用性。(2)高可扩充性。(3)高可靠性及健壮性。2其他软件实现方法的准则对于其他软件实现方法,主要遵循5个准则:(1)精简编程。(2)便于验证。(3)适合更新扩充。(4)遵守编程规范。(5)选择熟悉的语言及工具。,6.1 软件实现技术概述,6.1.3 软件实现策略与管理1软件实现

4、的策略开发策略主要有3种:(1)OOP开发策略。(2)自顶向下策略。(3)自底向上策略。2软件实现的管理 为了确保工期提高开发效率,需要对人力资源进行有效组织。最好将程序员组成开发小组,以团队承担编程工作。小组组成具有平等协作制、组长负责制和技能互补制三种形式。开发管理人员,对项目开发的进度和工作安排都必须有详细计划,出现软件危机最主要的两个因素就是开发成本难控制和开发计划难落实。,6.1 软件实现技术概述,3编程框架 编程框架主要是软件的基础构架,为应用程序所包含的业务对象、数据访问和界面逻辑中的基类。编程框架可由建模工具根据设计模型通过正向工程直接生成。4软件实现有关问题(1)软件实现的报

5、告与审批。(2)发挥程序员的独创性。(3)功能编程、界面编程以及后台数据库的编程应分开实现。,6.1 软件实现技术概述,5版本控制软件一般具有中间版本、版本、版本、发布版本和维护版本等,以不同标号标识。课堂讨论:(1)什么是软件实现?软件实现的过程是什么?(2)通常软件实现主要遵循原则有哪几个?(3)软件实现策略有那些?举例说明。,6.2 软件程序设计,6.2.1 程序设计语言概述1.程序设计语言的概念程序设计语言是人与计算机交流的工具。编写程序的过程也被称为编程或编码,是根据软件分析和设计模型及要求,编写计算机理解的运行程序的过程。2.程序设计语言的发展(1)第一代语言。(2)第二代语言。(

6、3)第三代语言。(4)第四代语言。,6.2 软件程序设计,3.程序设计语言的分类程序设计语言种类很多,可从不同角度分类。(1)从语言层次方面,可分为面向机器的语言和面向问题的语言两大类。(2)从语言适用性方面,可分为通用语言和专用语言两类。(3)从语言面向方面,可分为面向过程语言和OOL两类。(4)从应用领域,可分为科学计算、数据处理、实时处理和人工智能等语言,6.2 软件程序设计,(5)从语言级别上,分为低级语言和高级语言。如图6-2为其分类图。,图6-2 高级语言分类图,6.2 软件程序设计,从应用特点分,高级语言又可分为基础语言、现代语言和专用语言3类。从语言的内在特点分,高级语言还可分

7、为系统实现语言、静态高级语言、块结构高级语言和动态高级语言等4类。,【案例6-1】根据2011年“TIOBE世界编程语言排行榜”统计,对其中前10种常用编程语言的使用概率进行排名,可以了解目前常用编程语言的使用情况,并展现全球范围内编程语言的应用趋势。如表6-1所示。,6.2 软件程序设计,表6-1 十种常用编程语言的使用排名,6.2 软件程序设计,常用编程语言具有其各自的特点:(1)C语言。(2)C+语言。(3)Java语言。(4)C#语言。(5)PHP语言。(6)Python。(7)VB语言。(8)Perl语言。(9)JavaScript。(10)Delphi。,6.2 软件程序设计,6.

8、2.2 程序设计语言的选择 1.选择程序设计语言的准则 选择程序语言主要考虑的因素和准则,包括6个方面:(1)适合软件应用领域。(2)利于软件运行环境。(3)软件开发人员熟悉。(4)有助于性能实现。(5)算法和计算复杂性简便。(6)数据结构的复杂性低。,6.2 软件程序设计,2优先选取高级语言 在选择与评价时,先查看问题需求,权衡其要求及其重要性,然后有针对性地根据其特性选取程序设计语言。合适的程序设计语言可使编程简便、测试量少、阅读和维护容易。通常优先选择高级语言,主要因为高级语言明显优于低级语言。,6.2 软件程序设计,3尽量选取OOL 选择OOL的关键是语言的一致表达能力、可重用性及可维

9、护性。还应着重考虑以下实际因素。(1)可重用性。(2)代码重构是软件进化的重要手段,考虑:重复代码。函数过长。循环过长/嵌套过深。类的内聚性差。方法传递过多参数。(3)类库和开发环境。将语言、开发环境和类库3个因素综合,共同决定可重用性。,6.2 软件程序设计,(4)适应发展趋势,未来仍处于主导地位,不会很快被淘汰。(5)其他因素。4选取编程语言的标准 选取程序设计语言标准,主要有两大方面:1)理想化标准主要体现在3个“有利于”:(1)有利于实现的优质高效。(2)有利于实现功能性能及可靠性。(3)有利于降低软件开发及维护成本。,6.2 软件程序设计,选取程序设计语言标准,主要有两大方面:1)理

10、想化标准主要体现在3个“有利于”:(1)有利于实现的优质高效。(2)有利于实现功能性能及可靠性。(3)有利于降低软件开发及维护成本。2)实用性标准选取程序语言不仅限于理论标准,应兼顾实用要求。(1)程序语言自身特性。(2)软件的应用领域。(3)软件开发环境。(4)软件开发方法。根据其特点,应考虑3个方面:语言的发展前景。类库的可扩展性。开发环境。(5)编程人员的熟悉情况。(6)算法和数据结构的复杂性。(7)软件可移植性要求。,6.2 软件程序设计,6.2.3 常用程序设计方法 1模块化程序设计 模块化程序设计思想是在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个

11、确定功能,在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能。,6.2 软件程序设计,2结构化程序设计 结构化程序设计(Structured Programming,SP)是以模块功能和处理过程设计为主的详细设计过程。是软件发展的一个重要里程碑。SP方法是达到这一目标的重要手段。主要具有以下特点:(1)自顶而下,逐步求精。(2)结构化的程序由且仅由顺序、选择、循环三种基本控制结构组成,既保证了程序结构清晰,又提高了程序代码的可重用性。,6.2 软件程序设计,3.OOP设计1)OOP设计思想 是为了解决面向过程程序设计中存在的功能与数据分离而引起的程序复杂性问题而设计的。与SP相比,更

12、易于实现对现实世界的描述。通过对象机制来封装处理与数据,以控制程序的复杂度,通过继承提高程序可重用性和软件开发效率。2)OOL OOL是以对象作为基本程序结构单位的程序设计语言,用于描述的设计是以对象为核心,对象是程序运行时的基本成分。语言中提供了类、封装、继承、消息等机制。,6.2 软件程序设计,比较OOP和面向过程程序设计,还可得到OOP的其他优点:(1)数据抽象概念可在保持外部接口不变情况下改变内部实现;(2)继承性减少冗余代码,提高编码效率,减低出错概率和维护的难度;(3)结合OOA与OOD,减少软件开发过程中中间环节的转换过程;(4)利用对象的辨别与划分,在一定程度上更便于控制软件复

13、杂度;(5)以对象为中心的设计从静态(属性)和动态(方法)两个方面把握问题,从而更好地实现系统;(6)由对象的聚合联合可在保证封装与抽象的原则下,实现对象在内在结构以及外在功能上的扩充,从而实现对象由低到高的升级。,6.2 软件程序设计,6.2.4 编程规范及风格编程风格是在长期的编程实践中形成的一套独特的习惯做法和方式。优良的编程风格可以减少编程错误,提高可读性和维护效率。1.好程序的标准,【案例6-2】著名的“千年虫”问题,主要由于在过去开发程序时只使用2个存储位表示年份,省略了前面“19”2位。这种程序应用很广泛,在2000年以前没有出现问题,但是到了2000年,表示年份的数字就会变成“

14、00”,可能会给很多与此相关的应用程序造成严重后果。为了在2000年以前解决此问题,世界各国耗资达几亿美元。,6.2 软件程序设计,好程序具有的7个特性:功能齐全,能够达到用户的使用要求。性能及可靠性高,运行安全高效,各项指标优良。结构简单、容易理解和使用。易于维护、修改和扩展升级。界面易于操作,使用便捷。易移植性及兼容性好。可重用性强,有利于软件更新。2.编程规范及风格规范是“做什么”的形式化描述。程序用于阅读是其主要目的之一,可通过养成良好的编程风格解决阅读性差的问题。主要应该遵循以下规范及风格。1)源程序文档化源程序文档化应注意以下2个方面。(1)标识符命名。(2)程序注释。(3)标准的

15、书写格式。参见【案例6-3】,6.2 软件程序设计,2)数据说明 为使数据易理解和维护,常遵循指导原则。(1)数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护。(2)一个语句说明多个变量时,各变量按字典顺序排列。(3)对于复杂的数据结构,应加注释,说明在程序实现时的特点。3)语句构造 构造程序语句是编程阶段的基本任务。其主要原则是简单直接,不应为追求效率而使代码复杂化。,6.2 软件程序设计,4)输入和输出 输入输出信息与用户的应用直接相关。对用户输入输出的方式和格式应尽可能操作简捷、界面便利。一般输入输出在界面设计时确定。应注意以下5点:(1)输入信息都应进行有效性、合

16、法性检查,并给出必要的状态和错误信息提示。(2)输入输出的步骤和操作应当简单友好,格式界面简单一致。(3)批量数据录入时,使用数据的结束标志,而不要由用户来控制。,6.2 软件程序设计,5)程序效率和安全可靠性 为适应OOM所特有的继承性等必须遵循的新原则:(1)提高可重用性。(2)提高可扩充性。(3)提高健壮性。课堂讨论:(1)从应用特点分,高级语言可以分为哪几类?(2)如何选择程序设计语言?(3)常用的程序设计方法有那些?好程序的标准是什么?(4)编成主要应该遵循的编程风格及规范有那些?,6.3 常用程序设计工具,6.3.1 常用集成开发环境 Visual Studio和Visual St

17、udio.Net是Microsoft公司推出的Windows下的集成开发环境,可开发Window DNA和IIS Web Application。包括多种语言及相应的项目工具,如配置管理工具等。Delphi是美国Borland公司开发的工作在Windows平台下的一个集成开发环境(IDE),其前身是DOS下的Borland Pascal。IDE使用的是由传统Pascal语言发展而来的Object Pascal语言。本质上是一个代码编辑器而不是一种语言。Visual Age for Java是IBM公司开发的Java IDE开发环境。对于IT开发者和业余的Java编程人员都很有用。,6.3 常用

18、程序设计工具,6.3.2 编码管理系统及编译程序 1.编码管理系统 编码管理系统是具有连接程序、管理操作系统,维护源程序、目标程序、文件及数据库等信息的综合管理系统。一个大型软件开发项目通常由多个程序员编程,程序分别放在不同的文件或程序库中,可能既有源程序又有目标程序。大型软件系统开发的重要环节是开发软件工具,自动完成上述编码管理工作。利用MAKE程序能保持模块间的协调关系。SCCS的目的是维护目标系统的多个版本,且无编码重复。2.编译程序 编译程序是各种高级程序语言特定的,以程序模块为单位,将源程序生成目标编码的系统软件。,6.3 常用程序设计工具,6.3.3 软件生成技术 1由需求导出程序

19、设计 利用需求可以导出程序设计过程,以某种方式精确地定义用户的需求,经检验后由一个专门的程序将对用户需求的具体定义转变成相应的程序编码。2复用型程序设计 复用型程序设计方法,其实是软件设计模块化的推广。在程序模块化的基础上,提高程序模块的可移植/可重用性,以利于在新的程序设计时,采取“复用”技术和策略,提高程序设计的效率。,6.3 常用程序设计工具,自动化程序设计方法,基于知识的、扩展的自动化程序设计模式,实现方案如图6-3所示。,图6-3扩展的自动化程序设计模式,6.4 软件实现的文档,课堂讨论:(1)集成开发环境主要应用于什么地方?举例说明?(2)什么是编译程序和编码管理系统?(3)软件生

20、成技术包括那些方法?,6.4 软件实现的文档,实现文档的组成及要求 1.实现文档的组成及要求 软件实现文档由源程序清单和用户指南组成。“用户指南”主要包括“用户安装手册”和“用户使用手册”(或称“软件使用说明”)。在特殊情况下,如数据库服务器上的存储管理、数据维护、数据备份、数据传输等问题较复杂时,在用户指南中还要增加“系统管理员手册”的内容。2软件实现管理文档 软件实现管理文档主要包括:用户指南评审报告、模块源程序行统计表(行/模块名)、源程序工作量统计表(行/人天)、评审和鉴定记录等。,6.4 软件实现的文档,6.4.2 用户指南编写1用户指南编写要求(1)以统一确定的标准规范方法和风格,

21、描述软件产品提供的所有功能。(2)选用统一编写工具Word等,按照标准模板及格式进行编写。(3)规范术语。术语部分包括系统术语和基本概念。(4)语言简洁明确,表达准确。(5)指南模板及格式应统一规范。2用户指南的排版(1)多人合作编写时,应有一人负责统稿,便于保持一致。(2)交稿前一定要仔细审阅核对。(3)图以章为序,如图6.1或图6-1(4)表以章为序,如表2.1或表2-3。(5)命令格式。(6)例题格式。,6.4 软件实现的文档,(1)认真落实文档编写主管及具体人员,并指定文档管理员。(2)确保编制文档所需要的条件和所需经费,以及编制工具等。(3)规定编制文档应参考的标准规范。(4)给出应

22、编制文档的目录及模板。(7)交稿前一定要仔细审读,尽量减少不应有的文字错误,并做到以下的“5个衔接、6个统一、7个对应”;5个衔接:章节号、表序号、图序号、公式号、页码应连续,不重复也不漏。6个统一:格式、层次、名词术语、符号、代号、计量单位要统一,保持一致。7个对应:格式与规范、目录与正文标题、标题与内容、正文与插图、正文与表格、图中代号与图注、前后内容要对应,避免重复和矛盾。(8)不用Word自动格式生成章节标题或序号。,6.4 软件实现的文档,3用户指南的编写原则(5)明确保证文档质量的方法,如评审、审稿、鉴定等。(6)绘制进度表,以图表形式列出各阶段应产生的文档、编制人员、编制主管、编

23、制日期、完成日期、评审日期等。4用户使用手册编写模板 1.引言 1.1编写目的 1.2项目背景 1.3 定义 1.4参考资料,6.4 软件实现的文档,2.软件概述 2.1目标 2.2功能 2.3 性能 a.数据精确度 b.时间特性 c.灵活性3.运行环境 3.1硬件 3.2支持软件,6.3 常用程序设计工具,4.使用说明 4.1安装和初始化 4.2输入 数据背景 数据格式 输入举例 4.3输出 数据背景 数据格式 举例 4.4出错和恢复 4.5求助查询,6.3 常用程序设计工具,5.运行说明 5.1运行表 5.2运行步骤 运行控制 操作信息 输入输出文件 启动或恢复过程6.非常规过程7.操作命

24、令一览表8.程序文件(或命令文件)和数据文件一览表9.用户操作举例,6.3 常用程序设计工具,课堂讨论:(1)软件实现文档的组成及要求有哪些?(2)用户指南编写要求及原则是什么?(3)软件实现管理文档包括那些?,6.5 实验六 应用软件编程实现,6.5 实验六 应用软件编程实现 1.实验目的(1)熟练使用一种高级语言进行应用软件开发。(2)掌握一个应用程序完整的程序设计思路及过程,具体编码技术和方法。(3)掌握软件说明书编写要领。2.实验要求(1)要求按照“软件详细设计说明书”和具体选题进行编程实现;(2)掌握一种高级语言进行应用软件开发,掌握程序编写、调试、修改等常用技术。(3)要求对所编的

25、程序进行初步的测试,要分步进行;(4)按照“软件说明书模板”完成软件说明书的编写。,6.5 实验六 应用软件编程实现,3.实验内容 用自己熟悉的高级语言开发一个小型应用软件,并利用数据库运行数据。4.实验步骤(1)完成上述所有具体的实验;(2)建立所需是数据库;(3)选择一种程序,进行编码编写;(4)进行系统运行及初步调试。5.实验学时 实验学时:4学时(课外再补充4-6学时)。,6.5 实验六 应用软件编程实现,6.实验结果 提交软件说明书,最后与课程设计一起形成一个完整应用软件上交。7.实验小结【提示】对照上述“实验目的”、“实验要求”、“实验内容”、“实验步骤”等方面的完成情况,进行认真

26、具体总结。,6.6 本章小结,程序设计语言是人与计算机交流的工具。可以从语言层次、语言适用性、语言面向和应用领域等方面对其进行分类。程序设计方法有模块化程序设计、SP和OOP设计等。OOM是目前最为流行的程序设计方法。程序设计风格是指一个人编制程序时所表现出来的特点、习惯及逻辑思路。良好的程序设计风格应该注意源程序文档化、数据说明、编码构造、输入输出和效率及安全性等问题。OOL是一类以对象作为基本程序结构单位的程序设计语言,用于描述的设计以对象为核心,对象是程序运行的基本成分。系统实现包括编程、软件测试、系统集成、软件发布以及实现管理与文档等。编程实现有数据库、业务对象和用例实现,以及自顶向下,自底向上等实现策略。需要重视软件版本控制和管理工作。软件一般具有中间版本、a版本、B版本、发布版本和维护版本几种形式。编码通过单元测试后,可进入系统集成阶段。系统集成包括软件集成、平台集成、数据集成和应用集成等。软件集成分为渐进式集成和集中式集成两种方式。软件经系统集成之后需要进行推广和发布。为了更加高效、低成本地生产出高可靠性的源程序代码,应当有效利用程序设计工具和软件生成技术。还应当重视软件实现文档编写及审核鉴定,软件实现文档由源程序清单和用户指南组成。“用户指南”主要包括用户安装手册和用户使用手册。在特殊情况下,在用户指南中还要增加系统管理员手册的内容。,诚挚谢意!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号