




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.1软件开发工具的由来,软件开发工具的范围定义:在高级程序设计语言的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。(P1)计算机语言的发展阶段:第一代:机器语言;第二代汇编语言;第三代:高级程序设计语言;第四代:非过程化语言(P2)非过程化语言的思想:人们希望机器能自动地完成更多的工作,包括自动安排某些工作顺序,二做到只要给机器下达需要做什么的命令,由机器自己去安排执行的顺序。(P3)通用软件的弱点:1。由许多工作是通用软件不能完成的;2。某些工作只能表现表面的形式,不能反映其逻辑内涵;3。难于保持一致性的困难。P4IBM的AD/Cycle失败的原因(两个):1。拘泥于集中式的处理思路;2。背离了开放性的大趋势1.2件开发工具的概念软件开发工具的概念要点:(继承性与创新)a它似在高级程序设计语言(第三代)之后,软件技术进一步发展的产物;b它的目的是在人们开发软件过程中给予人们各种不同方面、程度的支持或帮助c支持软件开发的全过程,而不是仅限于编码或其它的特定工作阶段。P5硬件和软件的关系:硬件是躯体,软件是灵魂。软件的特性:软件是看不见,莫不着的但是发挥重要作用的事先编好的指令系列。软件是用户与硬件之间的桥梁。软件包括程序和文档两个不可缺少的组成部分。软件开发的发展里程(四个):就是四个阶段软件开发工具学(也即软件开发工具)和软件开发方法学的区别:前者着重于实际应用和工具开发;后者着重于方法论的研究;后者是前者的理论基础1.3软件开发工具的功能和性能软件开发过程(阶段、成果)第一阶段:出始要求的提出 成果:软件功能说明书第二阶段:总体设计 成果:系统的总体设计文件及各个模块的设计任务书第三阶段:程序的编写和文档的编写(实现阶段)第四阶段:测试或调试阶段包括:模块的调试和整个软件的联调(P10—11)软件开发工具的功能:(做什么)a认识与描述客观系统;b储存和管理开发过程中的信息;c代码的编写或生成;d文档的编制和生成;e软件项目管理(P11—12)软件开发的性能:(做到什么程度)a表达能力或描述能力;b保持信息一致性的能力;c使用方便程度;d工具可靠程度;e对硬件和软件环境要求(P13)1.4软件开发工具的类别按工作阶段划分:a设计工具(第四代语言和帮助人们进行测试的工具);b分析工具(支持需求分析)c计划工具按集成程度划分:a专用的b集成化的软件(软件工作环境)按硬件和软件的关系划分:a依赖于特定的计算机或特定的软件*大多是审计工具;b独立于硬件和其他的软件1.5开发软件的研究和应用应用软件的开发队伍:a计算机专业出生的技术人员;b来个各个应用领域非计算机专业的人两类人是软件开发工具产生和发展的动力2.1软件开发中的困难两类基本问题:18—19a用户对软件功能的理解和程序员对软件功能的理解之间的转换b人很机器之间交流和协调的问题。大型软件开发的困难:20a一致性的保持成为十分困难的问题;b测试的困难大大增加; c工作进度难以控制;d文档和代码的协调十分困难; e版本更新带来的困难;困难产生的原因:21a大系统的复杂性; b具有主动性的个人之间的组织与协调本身;c各个应用领域的差别; d时间因素,变化因素;2.2软件开发方法的发展软件开发过程中的角色和任务:22-23角色: 任务:用户 提出要求、验收、使用、要求修改项目负责人分析需求、向程序员分配任务、验收程序员的工作成果(代码和文档)、对这个软件进行联调程序员 编写程序和文档、调试自己的程序、向项目负责人提交成果计算机 无结构化程序中程序的结构:23三种基本模块:处理单元;循环机制;二分决策机制模块划分要求:23a模块功能在逻辑上尽可能的单一华、明确化,模块和任务一一对应(凝聚性)b模块之间的联系及相互影响应该尽量少,尽量避免逻辑耦合、而仅限于数据耦合耦合:各种联系及相互影响c模块的规模应当足够小,易于调试;结构化程序的基本思想:24a限制甚至不用GOTO语句,绝对禁止超越模块边界的GOTO语句b子程序尽可能做到只有一个入口、一个出口c程序设计应当尽量明确、清晰,包括适当的注释,书写格式体现层次结构,变量名称尽量具有逻辑意义d程序编写的同时完成文档编辑,不拖时软件工程的基本思想:25面向对象程序设计的基本思想:26(4点)向用户靠近a封装性一客观世界的任何事务都是对象又一些静态属性b对象之间抽象与具体、群体与个体、整体与部分的几个关系c遗传性一大的对象的属性成为子类的属性d对象之间可以护送消息,可以时参数或者对象开始的某个操作即插即用的程序设计思想:27一部分人专门生产软件组件,而另外的人设计整个软件的结构并把软件组件插入这个结构,以便迅速完成大型软件研制可视化程序设计技术手段:28a指点与卡嗒;b删剪与粘贴;c拖拉与扔下2.3软件开发过程的管理好的软件标准:29a正确地实现所要求的功能,准确地给出预定的输出结果;b用户界面友好,符合实际用户的使用习惯和知识水平;c具有足够的速度,能在用户要求的时间内处理出结果;d具有足够的可靠性,能在各种环境下保持正常的工作;好的单个程序员的标准:29-30a有程序设计的基本知识与技能;b解应用领域;c悉开发环境好的项目组中的程序员:30(1) 保证严格地在本模块范围内操作,决不要使用可能干扰其它模块的命令或函数;(2) 严格按总体设计的要求和理解去传递参数值,决不要随意修改其内容或含义;(3) 在对公用的文件或数据库进行存取时,决不能擅自改变;(4) 在使用标识符时,尽量使用易于看出逻辑含义的名称。(5) 严格按照统一的要求编写文档;(6) 尽量保持程序风格的一致。好的项目组的标准(CCM模型)30a有严格成文的工作规范和文档标准;b人员有严格的分工;c每个项目有详细的时间计划表,并得到严格执行3.1软件开发过程的信息需求软件开发过程中的四类信息和人员:32-33a有关系统环境、现状及需求的信息。(用户);b有关软件的功能设计与物理设计的各种信息。(分析人员)c软件成果本身,包括程序与文档。(程序人员);d用户对系统和各种变更要求,及系统的各种变更记录。(维护人员)四类信息的管理工作:33a许多信息需要长期保存;b许多环节上都要进行数据的转换或加工;c大量的人与人之间的信息交流。所以可以说,软件开发工具正是为对上述四类信息的合理存储、正确转化和顺畅流通提供帮助。软件开发工具用到的理论和方法33-34a认知科学中关于概念模式的概念与方法;b数据库技术的理论与方法;c编译技术的有关方法;d关于人机界面的理论与方法;e管理科学中关于项目管理与版本管理的理论与方法;f系统科学与系统工程中的有关理论与方法。3.2概念模式及其作用(考试的重点)概念模式的概念和性质:34定义:是指人们在认识事物过程中,对某一事物或某一系统形成的抽象的、一般化的概念框架。概念模式具有相对性,即面对各种不同的用途,必然会有不同形式的概念模式。它们各有各有用处,不能互相代替,也无法说哪个更好或更有力。概念模式的特点:简单明了,易于理解。常用的九种概念模型的概念和特点:35-39•框图:用来描述程序执行的逻辑过程的。基本步骤:处理、判断、输入输出、起始或终止等几个基本功能。适用范围:当软件规模不太大的时候(最早使用至今还在普遍地使用)•结构图:它的基本图例为模块,以模块的调用关系为线索,用连线表示调用关系,并注明传递参数。调用方式:顺序调用、选择调用、循环调用优点:能够体现层次,由粗到细、自顶向下地描述程序。•数据流程图:数据流程图面对的是一个系统的信息流程。用于描述某一业务处理系统的信息来源、存储、去向的全面情况。基本思想是把信息流看作一个组织或系统动作的线索,力图简明扼要地勾通画出全局。适用于客观描述,而结构图则着重于软件模块之间的控制。基本元素:外部实体(系统以外的信息来源或去向)、数据处理与数据存储。箭头表明信息在它们之间的流动状况。•实体关系图:实体关系图是一种用于描述静态数据结构的概念模式。以实体、关系、属性三个基本概念概括数据的基本结构。广泛用于数据库的设计中,常常和数据流程图、结构图等互相配合使用。•数据字典:它用表格的形式列出数据的基本属性及相互关系。.时序网络:主要描述系统状态及其转换方式,因此常常用于一些实时控制方面的软件的功能。基本概念是状态与转换。状态:是指系统在运转中茉一特定的运行态势或工作方式。转换:状态之间在一定条件下的相互变化。•数学与逻辑模型:一般只能描述比较单纯、基础的功能。*作为逻辑的表达方式,决策树和决策表也是经常使用的。•计算机模拟模型:利用计算机大量、高速处理信息的能力,在计算机内设置一定的环境,又以程序来表现客观系统中的某些规律或规则,计算机则在设定好的环境、按定好的规则高速运行,以便人们观察与预测客观系统的状况。•直观模型:用可视化的图标、图像、图表,甚至随手画的素描等元素描述心中的系统。3.3信息库及其一致性:数据库、数据仓库、信息库的概念区别40信息库:是一个包罗万象的,随着开发项目进展而不断修改与补充的信息集合。数据库:是在文件系统基础上发展起来的一种管理技术,重点在于合理地组织数据,减少冗余;数据仓库:是为了使数据更接近实用,对数据进行多次加工或提炼,得出许多派生或综合的数据。区别与特点:它在规模上不一定像数据仓库那么大,分析提炼的要求也与数据仓库不同,但数据结构复杂,不断变化,分析的要求也不同,还需要保持一致性,需要供分析人员、程序员、用户、维护售货员等多种人员使用。信息库的内容(多选题做准备)41-42a软件工作环境、功能需求、性能要求、有关状况等外部信息; b需求分析阶段中收集的各种信息;c逻辑设计阶段获得的资料和文档; d设计阶段的各种资料; e实现阶段获得的成果;f运行及使用情况的记录; g维护及修改的情况; h项目管理的有关信息。信息库研究的核心问题:42如何保持信息库的一致性,是信息库研究中的核心问题一是因为信息在传递过程中,误解和丢失现象十分严重;二是软件的修改和版本更新时,大量的工作要重复去做。3.4人机界面及其管理用户界面的设计原则:43a输入尽量自然,输出必须准确; b界面必须始终一致; c界面必须使用户随时掌握任务的进展善;d界面必须提供帮助; d宁可让程序多做,不可让用户多干。在人机界面中如何处理一致性和灵活性的矛盾:43a原则上对某一软件来说,用户的思维方式应当是一致的,操作与控制的方式也应当是一致的。b另一方面是,用户是多种多样的,应当让他们有一定的灵活、自由地选择某些功能的操作方式。对这两方面的合理权衡是人机界面设计者的责任。SAA系统框架的三个方面的接口:a对程序员的接口CPI;b对其他计算机系统的机接口CCS;c对用户的接口CUACUA的八个技术手段:44键盘操作、屏幕滚动、菜单选择、帮助系统、鼠标操作、色彩应用、数据录入、信息显示3.5项目管理和版本管理项目管理和日常生活管理的四个突出的特点:45 并发存在,对于软件来说,样品即产品。a子任务多,关系复杂; b任务不可重复,形势不断变更;c协调组织的任务十分突出; d信息处理工作的作用与意义更为突出。软件工作和一般的管理工作的不同特点:45a一般工程项目没有版本更新的问题; b对于大系统,一致性又带来系统复杂的管理问题。项目管理的基本目标:46a使产品的质量得到有效的控制;b保证整个系统按预定的进度完成;c尽可能使资源的闲置与浪费减少(最主要的资源是程序员的时间与能力);d控制与降低成本。(成本的情况是项目管理状况综合的最终体现)版本管理的核心问题:46 是保持两个一致性(也是版本管理的任务)a从时间上来说一一关心点是系统的逐步完善;b从系统各部分之间的关系来说一一要求局与整体保持一致。4.1基本功能与一般结构软件开发工具的功能(多选题)48-49a提供描述软件善及其开发过程的概念模式,以协助软件开发人员认识软件工作的环境与要求、合理地组织与管理软件开发的工作过程;b提供存储和管理有关信息的机制与手段;c帮助使用者编制、生成及修改各种文档;d帮助使用者编写程序代码;e对于历史信息进行跨生命周期的管理,把项目运行与版本更新的有关信息科学地管理起来。一般结构:49-50。中心位置的是总控部分和人机界面。 。系统中和个重要部分是信息库及其管理。最主要的两个信息出口:代码生成与文档生成 。另一个技术要求是项目管理和版本管理4.2总控部分和人机界面网一般应用软件的结构SAA对CPI的6个接口:51过程化语言;非过程化语言;生成器;数据库查询;对话显示;通信服务SAA对CCS的6个接口:52面向对象的结构;数据流;应用服务;作业管理;网络管理;数据安全控制AD/CYCLE的工作阶段和各阶段的任务:52-53。需求分析分阶段一任务是建立模型。建立起软件所处领域或环境的模型(企业模型);建立起软件所要处理信息的静态模型,即数据环境。建立起信息流通的模型,即信息的来源、去向、存储及处理的逻辑过程。。分析设计阶段一完成系统的总体设计 。编码阶段一实际的程序代码的产生点。测试阶段一对已经完成的各个模块或子系统进行试算、调整,以便最终形成完整的软件。。运行维护阶段一组织和管理软件的日常运行,收集运行中的状态信息及出现的问题并及时地进行局部的修改与完善。软件开发工具在技术上的三个原则:53面向使用者;保证信息的准确传递;保证系统的开放性4.3信息库及其管理信息库的内容:54-55四大类信息 系统状况;设计成果;运行状况;项目版本信息第一类一关于软件应用的领域与环境的;第二类一设计成果,包括逻辑设计与物理设计的成果。主要包括:数据流程图、数据字典、系统结构图、数据库逻辑设计、各模块的设计要求以及由此形成的设计文档。第三类一运行状况与测试的记录。第四类一有关项目管理与版本管理的信息。信息库的组织方式和演变过程:55集中存储与模块化的要求相冲突 |分散存储各部分之间的一致性无从保证逻辑上统一和物理上分散数据库与模块都实现了模块化,既保持了一致生,又保持了灵活性历史信息的处理方法:56-57困难历史信息数量大,占用存储设备多 方法采用脱机备份的方法困难历史信息格式不一致,难以有效利用 方法加强标准化、稳定数据结构只能使这个问题得到一定程度的解决4.4文档的生成和代码的生成代码生成的三个来源(依据):58输出代码的两种情况的比较:59(后者不如前者应用的多)。某种高级程序设计语言的代码,优点是使用者可以在这个基础上进一步修改加工,缺点是功能较死、效率不高。某种机器环境下可运行的机器指令,优点是可以直接运行,缺点是这种机器代码一般是无法直接修改的,对机器的硬软件环境的依赖很大。文档生成的类型:59三大类:文章、表格、图形4.5项目管理和版本管理1.区别核心问题和关键问题:59•项目管理与版本管理的核心问题:跨生命周期的信息管理问题。•项目管理与版本管理的关键问题:历史信息的处理。5.1购置与开发的权衡:63在项目比较大时间持续比较长的情况下,使用工具可以使工作的组织管理比较规范,信息管理与检索方便,部分做到信息与知识的重用与共享。但软件开发工具比较昂贵,而且一体化的开发工具还不多,作用与可靠程度不如人意。自己开发的软件开发工具目标明确,符合需要,而且可进一步升级。从长远看,软件开发工具越来越多得到应用,自行开发的工具会减少。(考虑因素:所开发软件的性质与要求;开发人员对支持工作与支持程度的实际需要;工作环境;人员的因素。)5.2软件开发工具的选择与购置购置的方法和步骤:65方法明确购买软件开发工具的目的与要求;明确购买软件工具的环境条件与制约条件;市场调查;对于可供选择的各种工具进行综合比较;进行测试和检验;正式签约购置;安装与试用。明确的目的与要求:65。为哪个软件开发项目而使用工具,为一个项目还是为一批项目,为哪一种类型的项目而购置。在哪个工作阶段使用工具,在一个生命周期内使用,还是准备长期开发、不断更新版本。工具将供哪些人员使用,这些人是否有使用经验,对于使用工具的态度、期望、可塑性如何。工具将在怎样的软件、硬件环境下运行调查市场:64。开发工具的功能;。这些工具的性能;。这些工具所使用或依据的开发方法或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应急办安全培训文件课件
- 2024年金属非金属矿山安全作业试卷附完整答案详解(易错题)
- 2024年自考专业(计算机网络)模考模拟试题(考点提分)附答案详解
- 拿货欠款合同(标准版)
- 个人淘宝店铺转让合同(标准版)
- 强化训练人教版9年级数学上册《概率初步》专项训练练习题(含答案详解)
- 中考英语总复习资料2
- 2025年绿色金融债券发行市场趋势与投资价值研究报告
- 2025年工业碳捕获与封存(CCS)应用案例:技术、市场、政策三维分析报告
- 养老院防汛应急预案范文(32篇)
- 《餐饮点菜》课件
- 公司财务知到智慧树章节测试课后答案2024年秋北京第二外国语学院
- 2025年天马微电子股份有限公司招聘笔试参考题库含答案解析
- 2025年浙江事业单位联考真题解析历年高频重点提升(共500题)附带答案详解
- 防止人身伤亡事故培训课件(共139张)
- 宣传物料技术服务方案设计
- 检验科质量管理手册
- 幼儿园讲解海军知识
- 《中国货币发展史》课件
- 暴聋(突发性耳聋)中医临床路径及入院标准2020版
- 部编高教版2023·职业模块 中职语文 2.《宁夏闽宁镇:昔日干沙滩今日金沙滩》 课件
评论
0/150
提交评论