软件开发工具识记内容
- 格式:doc
- 大小:162.50 KB
- 文档页数:14
软件的概念:软件=程序+文档。
软件是能够完成预定功能的可执行计算机程序包括使程序正常执行所需要的以及有关描述程序操作和使用的文档。
特点:软件是一种逻辑实体,而不是具体的物理实体。
因此,它具有抽象性。
软件的生产与硬件不同,没有明显的制造过程。
对软件的质量控制,必须立足于软件开发方面。
在软件的运行和使用期间,没有像硬件那样的磨损、老化问题。
软件的开发和运行往往受到计算机系统的限制,对计算机系统有不同程度的依赖性。
迄今为止,软件的开发尚未完全摆脱手工艺的方式。
软件本身是复杂的软件的成本相当昂贵相当多的软件工作涉及到社会因素。
分类:按软件的功能划分:系统软件、支撑软件、应用软件按软件的规模划分:微型、小型、中型、大型、超大型按软件的工作方式划分:实时、分时、交互、批处理按软件服务对象的范围划分:项目软件、产品软件(2)软件的发展和软件危机(一般)计算机软件发展的各个时期1. 第一代(60年代中期之前)程序设计阶段硬件通用,软件专用;程序规模小,编写者和使用者为同一人(同组人)。
2. 第二代(60年代中期-70年代中期)程序系统阶段出现“软件作坊”、产品软件;“个体化”开发方法。
3. 第三代(70年代中期之后)软件工程阶段软件开发成为一门新兴的工程学科——软件工程。
4. 第四代(90年代后)现代软件工程阶段。
软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是两个问题。
1. 如何开发软件,怎样满足对软件的日益增长的需求。
2. 如何维护数量不断膨胀的已有软件软件危机的主要表现:1. 对软件开发成本和进度的估计不准确2. 用户不满意3. 软件质量不高、可靠性差4. 软件常常不可维护、错误难以改正。
5. 缺乏适当的文档资料6. 软件成本占系统总成本的比例逐年上升7. 软件开发速度跟不上计算机发展速度(3)软件工程过程(重点)软件工程的基本原理:1. 用分阶段的生命周期计划严格管理2. 坚持进行阶段评审3. 实行严格的产品控制4. 采用现代程序设计技术5. 结果应能清楚地审查6. 开发小组的人员应该少而精7. 承认不断改进软件工程实践的必要性软件工程方法学3要素:方法、工具和过程第二部分软件过程2(1)软件生命周期的基本任务(重点)软件生命周期的各个阶段:(定义、开发、使用及维护)(1)问题定义(2)可行性分析(3)需求分析: 分析软件需求,编写软件需求规格说明(4)概要设计和详细设计: 确定软件体系结构,设计软件模块(5)程序编写(6)软件测试(7)运行和维护(2)Rational 统一过程(次重点)识记:RUP(统一软件开发过程)的6条软件开发经验(①迭代式开发②管理需求③体系结构④可视化建模⑤验证软件质量⑥控制软件变更)理解:RUP软件开发生命周期(初始阶段、细化阶段、构造阶段、迁移阶段)第三部分结构化分析(一)考核知识点及考核目标(1)软件需求分析概述(重点)需求分析:是指开发人员要准确地理解用户的要求,进行细致的调查分析,将用户非形式化的需求陈述转化为完整的需求定义,再由需求定义转化为相应的软件需求规格说明书(即需求分析的结果)的过程需求分析的任务:是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求过程:可行性分从收集资料到形成软件需求分析文档,一般来说要经过四个过程:获取用户需求,分析用户需求,编写需求文档,评审需求文档可行性分析的内容?经济可行性技术可行性运行可行性法律可行性需求分析的主要原则?一. 确定对系统的综合要求1. 功能需求2. 性能需求3. 可靠性和可用性需求4. 出错处理需求5. 接口需求6. 约束7. 逆向需求8. 将来可能提出的要求二 .分析系统的数据要求三. 导出系统的逻辑模型四. 修正系统开发计划(2)结构化分析方法(重点)结构化分析方法的含义:结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止第四部分结构化设计(1)软件设计的目标和任务(重点)软件设计的重要性:软件设计是后续开发步骤及软件维护工作的基础。
湖南省高等教育自学考试课程考试大纲网络应用程序设计(课程代码:07026)湖南省教育考试院组编2016年12月高等教育自学考试课程考试大纲课程名称:网络应用程序设计课程代码:07026第一部分 课程性质与目标一、课程性质与特点网络应用程序设计是高等教育自学考试软件工程(本科)专业的专业核心课程,ASP网络程序设计是目前应用最为广泛的动态网页技术之一,网站技术与网页技术是软件工程专业考生必须掌握的技术。
本课程介绍开发ASP程序所涉及的开发工具和运行环境、VBScript程序设计基础和ASP程序设计基础等网络应用程序设计方面有关内容。
本课程以培养考生从事动态网站设计与建设能力为核心内容,将动态网站工作原理、动态网站设计、动态网站构建和网页技术、面向对象技术、软件工程技术进行有机结合,突出实用性、综合性和先进性,网络应用程序设计是一门实践性较强的专业类课程。
二、课程目标与基本要求(一)课程目标:通过本专业课程的学习,使考生具备动态网站设计与构建的软件工程应用性人才所具备的基本知识、实践能力和专业综合素质,掌握设计中等偏复杂动态网站的设计方法和构建动态网站的专业动手能力。
(二)基本要求:1.掌握开发ASP程序设计的基础知识与基本方法;2.针对网络应用程序设计有全面认识和了解;3.能够独立自主地开发类似于留言板、BBS论坛、聊天室等网络应用实例程序。
三、与本专业其他课程的关系本课程应具备计算机程序设计类课程等的基本知识条件。
本课程的先修课程为:软件工程、计算机网络技术。
第二部分 考核内容与考核目标第一章 ASP程序设计概述一、学习目的与要求本章学习重点内容是掌握动态网页的运行原理、ASP程序设计开发工具与运行环境、并掌握新建一个完整的ASP程序的基本流程。
要熟悉建立虚拟目录、设置默认文档的方法。
考生在上机操作实践时,要能够熟练搭建ASP运行环境,并能够利用EditPlus或记事本等工具开发第一个简单的ASP程序,还可以扩展学习IIS的实际使用方法。
软件测试技术01335复习考试第1章概述•考核知识点与考核目标1.软件测试的基本概念(重点)识记:软件测试的定义理解:软件测试生命周期、软件开发与测试模型2.软件测试技术分类(重点)理解:软件测试技术的分类3.软件测试目的和原则(次重点)理解:软件测试目的和原则4.软件测试工作流程(重点)理解:软件测试工作流程5.软件开发与软件测试的关系(一般)理解:软件开发与软件测试的关系•课后习题1.软件测试的目的:发现软件中出现的错误2.软件测试的原则: 1. 测试用例不仅选用的合理的数据,还要选择不合理的数据;2.应制定测试计划并严格执行;3. 对发现错误较多的程序段,应该进行更深入的测试;3.测试时机:应该尽可能早地进行测试4.软件测试对象:软件代码、文档、数据5.什么是软件测试?简述其目的和原则。
答:简单的说,是为了发现错误而执行软件产品程序的过程;大体来讲就是软件产品在交付之前,对软件进行检测是否满足客户需求的一种工作;测试目的:通过对软件错误的原因和分布进行归纳,来发现并排除软件产品的缺陷,对在需求和设计过程中存在的问题查缺补漏,从而确保软件的产品的质量;测试原则:1、尽早的和不断的进行软件测试;2、不可能完全的测试;无法找出所有的设计错误,并且不能采用逻辑来证明程序的正确性;3、增量测试,由小及大;单元测试、集成测试、确认测试、系统测试4、避免测试自己的程序;5、设计周密的测试用例6、注意错误集中的现象;7、确认bug的有效性;8、合理安排测试计划9、回归测试;10、测试结果的统计和分析;11、及时更新测试;6.软件测试阶段是如何划分的?大体分为以下3个阶段:1、需求阶段,需求阶段是测试活动的前提,明确了软件产品最终的实现的效果,生成测试总体计划;2、设计及编码阶段,根据需求阶段的文档进行概要设计,形成集成测试方案并以模块为单位循环进行单元测试、编码、单元测试,直至所有单元测试成功;3、集成测试、系统测试、验收测试阶段,完成集成测试后,申请系统测试、最后再进行验收测试7.简述软件测试过程。
高纲1530江苏省高等教育自学考试大纲02134 信息系统设计与分析南京理工大学编江苏省高等教育自学考试委员会办公室Ⅰ课程性质与课程目标一、课程性质和特点《信息系统分析与设计》课程是江苏省高等教育自学考试信息管理与信息系统专业的必修课,是为培养信息管理与信息系统专业学生了解和掌握管理信息系统的基本理论和方法而设置的一门重要的专业基础理论课。
进入大数据时代,信息系统和数据已成为现代社会的“命脉”。
本课程以管理学为背景,强调管理信息系统是一个社会—技术系统。
本课程把管理和技术相结合,科学和艺术相结合,深刻阐释管理信息系统的本质、性质和内容,既重视学生的知识和智商的培养,也重视学生的能力和情商的修养。
从基本概念、技术、应用、开发管理等角度培养学生的专业能力。
二、课程目标通过本课程的学习,使学生掌握并理解管理信息系统的内涵及其相关概念;掌握数据库系统的相关知识;掌握并理解不同信息系统的特点和设计思路;掌握信息系统开发和分析方法;能够运用所学的原理和方法对管理信息系统进行实施、评价和运行管理。
三、与相关课程的联系与区别本课程以《管理学》、《数据库原理》、《信息存储与检索》等课程为先修课,为后续进一步拓展信息系统理论和信息系统技术奠定基础。
四、课程的重点和难点本课程的重点包括管理信息系统定义、概念和结构、数据库设计和系统开发方法以及系统分析和设计方法等知识;次重点包括不同类型系统的特点、计算机系统的发展、管理基础知识。
本课程的难点主要是信息系统开发方法、系统分析、系统设计、系统实施、评价与运行管理。
Ⅱ考核目标本大纲在考核目标中,按照识记、领会、简单应用和综合应用四个层次规定其应达到的能力层次要求。
四个能力层次是递升的关系,后者必须建立在前者的基础上。
各级能力层次的含义是:识记(Ⅰ):要求考生能够识别和记忆本课程中有关信息系统的相关概念、定义、方法、技术、应用、理论等,并能够根据考核的不同要求,做正确的表述、选择和判断。
高纲0955江苏省高等教育自学考试大纲28424Java程序设计苏州大学编江苏省高等教育自学考试委员会办公室一、课程的性质与设置目的(一)课程性质和特点Java面向对象程序设计课程是一门重要的专业课。
众所周知,Java语言是当前最流行的网络编程语言之一,它具有面向对象、平台无关、安全、多线程等特点。
而Java平台标准版(J2SE)是各种Java技术的基础,只有掌握J2SE,才能进一步进行深入的Java技术的学习。
本课程的基本内容就是介绍J2SE的基础知识,具体包括:●Java的基本语法(常、变量的定义和使用,运算符和表达式的使用,基本的流程控制,引用及数组的基本概念);●Java的面向对象特性(类与对象,接口,抽象类,包等的基本概念和基本使用);●Java中常用的标准工具类(与I/O相关的标准类,与文本字符串操作相关的标准类等);●Java中对GUI的支持(AWT和Swing包中各个类的使用);●Java中的异常处理机制;●Java语言在网络编程中的应用(Applet、Socket编程,多线程等)。
(二)本课程的基本要求通过本课程的学习,应达到知识和技能两方面的目标:1、知识方面:从Java语言的面向对象和跨平台这两大特点出发:系统地学习和掌握面向对象机制中的封装、继承和多态特性在Java语言中的具体实现(类、包、接口、引用、抽象类、接口等);理解掌握JVM的工作原理、GUI中的布局管理、事件委托代理机制等知识,能运用它们编写简单的GUI程序。
2、技能方面:系统地学习和掌握面向对象的程序设计思想,从而进一步提高分析、解决问题的能力,形成良好的编写程序的习惯、风格。
(三)本课程与相关课程的联系本课程的先修课程包括计算机应用基础和高级程序设计,后继课程有数据结构和操作系统。
它们之间的关系是:1.本课程中程序的解释执行过程,IDE编程环境的使用等需要有计算机应用基础的基本知识和技能;2.本课程在高级程序设计(C语言)介绍的结构化程序设计思想的基础上,进一步介绍以数据为中心的面向对象的程序设计思想。
信息资源管理复习提纲(第⼆章)第⼆章信息化规划与组织本章是⼀个⾮常重要的章节,要求不仅要领会基本概念、基本原理和⽅法,还要达到综合应⽤的层次,也就是要利⽤本章的知识点,分析案例中的问题,并给出具体解决⽅案。
1.【识记】信息资源管理的任务有哪些?(P45)(1)调动好相关的⼈⼒资源,借助适宜的信息技术,开发和利⽤相应的信息系统;(2)对信息实⾏有效的管理,达到开发与利⽤信息资源以促进组织战略实现的⽬的。
2.【识记】组织战略的定义是什么?(P46)(名词解释)组织战略是组织达到⽬标、完成使命的综合计划。
具体来讲,组织战略是组织为了在外部环境中⽣存和发展,在总结历史经验、调查现状和预测未来的基础上,所做出的长远性、全局性的谋划或⽅案。
3.【识记】组织战略⼀般包括哪三类(结构)?(P46)组织战略⼀般包括三类:总战略、经营战略、职能战略。
(1)总战略描述组织总的⽅向,如专⼀化还是多元化发展。
(2)经营战略描述某个产品或者事业部的竞争合作战略,以提升在特定领域的竞争⼒。
(3)职能战略是营销、制造、研发、信息技术等职能部门所制定的战略,它们通过整体能⼒的优化,帮助组织及下属事业部实现战略⽬标。
4.【识记】组织战略的制定包括哪些基本过程?(P46)(1)环境分析环境分析是从组织内部、外部所拥有的优势和劣势等⽅⾯⼊⼿,通过评估机会和风险,形成组织对所处环境的判断。
(2)战略决策战略决策是在环境分析的基础上,综合各种信息,达成战略⽅案。
组织的战略决策包括明确组织的使命,确定可达到的⽬标,形成组织的战略指南。
(3)战略规划的形成和完善战略决策形成后,要加以细化调整,以便执⾏。
在具体的执⾏过程中,由于内外部环境的变化和前期制订过程中的认识不⾜,可能使战略偏离实际,因此要进⾏调整和完善,形成指导组织发展的战略规划。
5.【识记】组织战略的规划⽅法有哪些?(P47),[201104名词解释,201107单选](1)SWOT矩阵法SWOT矩阵是由波⼠顿咨询公司提出的,也称波⼠顿矩阵,是全⾯分析组织外部环境和内部资源、寻找满意战略组合的分析⼯具。
湖北省高等教育自学考试课程考试大纲课程名称:信息系统设计与分析课程代码:02134第一部分课程性质与目标一、课程性质和特点信息系统分析与设计课程是信息管理与信息系统专业的学位课程,它介绍信息系统开发相关的基本概念、基本原理和开发思想,系统讲授信息系统开发方法,结合实际案例系统介绍信息系统的总体规划、系统分析、系统设计、系统测试、运行维护等阶段的工作原则、工作步骤、基本方法及开发文档。
本课程主要基于面向对象的方法,以UML(统一建模语言)为主要的描述语言,同时也介绍其他的描述方法如数据流图、数据字典、E-R图等。
本课程强调软件工具的使用,介绍Rational Rose等软件工具的使用方法及建立信息系统的过程,如需求模型、分析模型和设计模型等。
信息系统分析与设计课程的教学工作力求理论与实际的有机结合,并使其具有较强的可操作性,从而使开发人员能够设计并开发出一个满足用户需求的、有较高可修改性的信息系统。
信息系统的分析与设计在各个领域都有着广泛的需求,如计算机辅助设计系统、现代通信信息系统、管理决策系统、生产控制系统等,是人们开发、利用信息资源以支持组织目标的战略手段。
这门课程的任务就是帮助学生弄清信息系统的规划、分析、设计和实施等阶段的目标、任务、要求和过程,掌握信息系统分析的基础知识、实践技能和开发的各种方法,提高学生信息系统开发的理论水平,锻炼他们进行信息系统开发的实践能力,为将来从事实际工作奠定基础。
二、课程目标与基本要求本课程非常注重课程实践,学生在系统地学习信息系统理论知识的基础上,还应灵活掌握信息系统分析与设计的各种工具和方法,适当的运用到实际的信息系统开发中。
通过本课程的学习,学生应达到如下要求:1.掌握信息、系统、信息系统的基本概念及特征,信息系统开发的基本步骤、工作原理以及系统开发的项目管理内容。
2.掌握信息系统规划、分析和设计阶段的工作原则、步骤、方法及相应的文档规范,系统测试的工作原理、测试方法及管理内容,以及系统运行管理中的各项管理内容,掌握评价系统的方法。
黑龙江省高等教育自学考试电子信息技术(080738)专业(独立本科段)信息技术导论考试大纲(课程代码7874)黑龙江省高等教育自学考试委员会办公室二OO九年十月一、课程性质与设置目的信息技术导论是高等教育自学考试电子信息技术(独立本科段)专业的一门专业基础课程,是培养和检验应考者的专业基础知识的一门基础性课程。
本课程重在培养应考者对电子信息技术基础知识和基本应用技能的掌握,是深入学习其它专业基础课或专业课程的入门课程。
本课程的基本要求主要体现在:通过对本课程内容的学习和基本操作技能的训练,使应考者能够比较全面系统地掌握电子信息技术的基础知识和基本应用技能,从而为学习后续课程打下良好的基础。
一般地,本课程的学习应先于本专业其它专业基础课和专业课的学习,从而为后续课程的学习打下良好的基础,使应考者在学习初期就能较好地掌握电子信息技术应用方面的基础知识和基本操作技能。
二、课程内容和考核目标绪论(-)课程内容第1节计算的起源第2节计算发展的年代划分(二)学习目的与要求本章主要讲计算的起源以及计算如何划分年代。
熟知计算发展的年代划分方法,了解计算的起源。
本章所列的知识点中,重点是如何划分计算发展的年代。
(三)考核知识点与考核要求1 .计算的起源,要求达到“识记”层次。
2 .计算发展的年代划分,要求达到“理解”层次。
第1章计算机硬件的主要组成部分(-)课程内容计算机工作的概述 CPU 的内部操作 典型CPU 体系结构 用于特殊目的的CPU 计算的新用途(-)学习目的与要求 本章主要讲计算机硬件的主要组成部分,熟知计算机的启动过程,掌握CPU 的工作过程,了解CPU 的体系结构,及专用CPU 。
节节节节节12 3 4 5 第第第第第本章所列的知识点中,重点是CPU 的工作过程,难点是CPU 的体系结构。
(H )考核知识点与考核要求1 .计算机工作的概述,要求达到“识记”层次。
1.1 计算机的启动和开始工作1.2 二进制和数字2 .CPU 的内部操作,要求达到“识记”层次。
广东省高等教育自学考试现代企业管理信息系统(课程代码:08816)考试大纲(新版)目录Ⅰ课程性质与设置目的的要求Ⅱ课程内容与考核目标第一章管理信息系统导论一、学习目的与要求二、考试内容三、考核知识点四、考核要求第二章管理信息系统与信息技术一、学习目的与要求二、考试内容三、考核知识点四、考核要求第三章管理信息系统与组织、管理和战略一、学习目的与要求二、考试内容三、考核知识点四、考核要求第四章管理信息系统的开发方法一、学习目的与要求二、考试内容三、考核知识点四、考核要求第五章管理信息系统的系统规划一、学习目的与要求二、考试内容三、考核知识点四、考核要求第六章管理信息系统的系统分析一、学习目的与要求二、考试内容三、考核知识点四、考核要求第七章管理信息系统的系统设计一、学习目的与要求二、考试内容三、考核知识点四、考核要求第八章管理信息系统的系统实施一、学习目的与要求二、考试内容三、考核知识点四、考核要求第九章管理信息系统运行、维护与管理一、学习目的与要求二、考试内容三、考核知识点四、考核要求第十章管理信息系统的应用与发展一、学习目的与要求二、考试内容三、考核知识点四、考核要求第十一章案例分析一、学习目的与要求二、考试内容三、考核知识点四、考核要求Ⅲ有关说明与实施要求一、本课程的性质及其在专业考试计中的地位二、本课程考试的总体要求三、关于自学教材四、自学方法指导五、关于命题考试的若干要求附录:题型举例(选择其中的五种题型)Ⅰ课程性质与设置目的的要求管理信息系统是广东省高等教育自学考试现代企业管理(独立本科段)的专业必考的专业课,是为了培养和检验自学应考者有关现代企业管理信息系统的基本原理、基本知识与基本技能而设置的一门专业课。
管理信息系统是以企业、事业单位的管理信息系统为主要研究对象的课程,它具有综合性、科学性、实践性、系统性与指导性的特点,是培养现代企业管理人才的基础性课程。
设置本课程的目的是:使自学应考者能够较全面、系统地学习管理信息系统的基本知识、基本原理和基本技能,掌握现代企业管理信息系统的基本技能和方法,培养和提高自学应考者正确分析和解决目前企业管理信息系统的问题的能力,提高企业管理信息系统的效率,以适应企业提高竞争力的需要。
软件开发工具理论1.1 软件开发工具的由来软件开发工具:在高级程序设计语言的基础上,为提高软件的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度帮助的一类广泛的软件。
软件开发工具的发展阶段及特点。
1.利用通用软件作为辅助工具的阶段。
有许多工作是通用软件无法完成的。
通用软件完成某些工作也不能反映其逻辑内涵。
常常遇到难于保持一致性的困难。
2.专用的软件开发工具的阶段。
对软件的开发缺乏全面的、统一的支持环境。
3.集成的软件开发环境阶段。
进入集成的软件开发环境阶段的标志是IBM在1989年提出的理论框架。
4.二十一世纪的软件开发新阶段。
有两个鲜明的特点,第一是面向网络,不仅基于网络,而且用于网络。
第二是开源软件的兴起和运用。
1.2软件开发工具的概念1、简答:软件开发工具概念的要点(1)它是在高级程序设计语言之后,软件技术进一步发展的产物(2)它的目的是人们开发软件过程中给予人们各种不同方面、不同程度的支持或帮助(3)它支持软件开发的全过程,而不是仅限于编码或其它特定的阶段2、认识软件开发工具的概念,应同时认识它的(继承性)与(创造性)(填空题)3、简答:软件开发新阶段的特点(表现)(1)自动化程度的提高(2)这一阶段的工作明确地把需求分析包括进了软件工作地范围之内,从而使软件开发过程进一步向用户延伸,离用户更近了。
(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程地局限,而扩展到了作为一个不断发展地客体生长完善地全过程。
(4)这一阶段的研究吸收了许多管理科学的内容与方法4、第四代语言(4GL):原义是非过程化的程序设计语言。
针对以处理过程为中心的第三代语言,它希望通过某些标准处理过程的自动生成,使用户可以只说明要求做什么,而不把具体的执行步骤的安排交由软件自动处理。
1.3软件开发工具的功能与性能2、总体设计包括软件的结构设计、公用的数据文件或数据库的设计、各部分的连接方式、信息交换的标准等3、总体设计的成果是系统的总体设计文件及各个模块的设计任务书4、总体设计文件包括结构图、模块清单、公用数据结构5、简答:软件开发工具的性能(1)表达能力或描述能力:选择软件开发工具时首先要考虑的(2)保持信息一致性的能力(3)使用的方便程度(4)工具的可靠性可靠性:在各种各样干扰下仍能保持正常工作,而不致丢失或弄错信息。
(5)对硬件和软件环境的要求1.4 软件开发工具的类别1、按工作阶段划分(单选、多选题)(1)设计工具如:代码生成器、4GL、测试工具,出现最早数量最大的(2)分析工具如:数据字典管理系统、画数据流程图工具FLOW、画结构图或ER图的工具(3)计划工具为(项目主管人员)服务的2、按集成程度划分(1)专用的、面对某一工作阶段或某一工作任务的工具(2)集成化的、面对软件开发的全过程的工具名词解释软件工作环境:集成化的软件开发工具被称为软件工作环境。
3、按与硬件、软件的关系划分(1)依赖于特定的计算机或特定的软件设计工具、集成化的软件开发工具(2)独立于硬件与其他软件的分析工具、计划工具第2章软件开发过程及其组织2.1软件开发中的困难1、软件开发的基本问题(单个程序员遇到的问题)两个转换(关键在于程序员的知识水平与实际经验)(1)第一个转换是用户对软件功能的理解与程序员对软件功能的理解之间的转换手段:用尽可能标准化的方法编写程序设计任务书(2)第二个转换解决的是人和机器之间的交流与协调问题:人和机器之间的思维方式、工作方式上都有许多根本的区别。
2、简答:大型软件开发中的困难(1)一致性的保持成为十分困难的问题(2)测试的困难大大增加。
水波效应:当人们修改程序的某一处时,由于没有充分考虑到这一修改对相关部分带来的影响,结果出现了新的错误“黑箱”检验方法:输入一些信息,观察是否能否得出预期输出来判断(3)工作进度难以控制(4)文档与代码的协调十分困难(5)版本更新带来的困难3、简答:大型软件开发困难产生的原因(1)这些困难来自大系统的复杂性(2)许多具有主动性的个人之间的组织与协调本身也会带来大量的困难(3)各个应用领域之间的差别也导致这些困难的加重(4)时间的因素、变化的因素也给软件开发工作开来许多困难2.2软件开发方法的发展1、简答:结构化程序设计的思想和方法思想:把程序的结构分解成三种基本模块:处理单元、循环机制、二分决策机制方法(模块划分原则):(1)模块的功能在逻辑上尽可能地单一化、明确化,最好做到模块与任务地一一对应。
(2)模块之间的联系及其相互影响尽可能地少,对于必要地联系都应当加以明确地说明。
(3)模块的规模应当足够小,以便使它本身的调试易于进行。
2、简答:软件工程的思想(1)对软件开发过程进行规范,把开发过程分为:需求分析、分析与设计阶段、编程阶段、测试阶段、使用及维护阶段五个阶段。
(2)在标准化方面,一方面是表达方式的标准化,另一方面是对工作的质量及检查制定标准。
3、简答:面向对象的思想(1)客观世界的任何事物都是对象,它们都有一些静态属性,也都有一些有关的操作。
作为一个整体,这些对象对外不必公开这些属性与操作,称为“封装性”(名词解释)(2)对象之间有抽象与具体、群体与个体、整体与部分等几种关系。
(3)抽象的、较大的对象所具有的性质包括静态属性和动态操作,自然地成为它地子类地性质,不必加以重复说明或规定,这就是“遗传性”(名词解释)(4)对象之间可以护送消息。
4、与即插即用的程序设计方法相关的概念有:组件程序设计、组合文件、宏观程序设计5、即插即用在软件生产过程中,一部分人专门生产软件组件,而另一部分人则设计整个软件的结构,并且把软件组件插入这个结构,以便迅速地完成大型软件地研制工作。
6、好的项目组:(1)有严格的、成文的工作规范和文档标准,而且应当全体熟知,并且切实遵守(2)人员之间有严格的分工,除程序员外,必须有专门的秘书(负责文档的手机、审核及保管),必须有专门的测试人员(负责测试和验收有关的部分),特别是要有专职的,不限于具体编程的项目负责人。
(3)每个项目都要事先制定详细的时间计划表,并且得到严格执行。
每一项目完成之后都有完整的资料,并得到妥善保存,一旦需要修改或更新版本时,可以立即使用。
第三章软件开发工具的理论基础3.1软件开发过程的信息需求1、软件开发工具对软件开发工作的支持是在信息管理和信息处理方面,即为软件开发工作者存储和管理某些信息。
)2、简答:软件开发过程中涉及的信息主要有哪些?(1)有关系统环境、现状及需求的信息。
由用户提出。
(2)有关软件的功能设计与物理设计的各种信息。
由分析人员设计。
(3)软件成果本身,包括程序与文档。
由程序员编制。
(4)用户对系统的各种变更要求,以及系统的各种变更的记录。
3、简答:对软件开发涉及的信息管理工作有哪些?(1)许多信息需要长期保存,因为他们并非只用一次,而是需要不断更新,不断被调用。
(2)在许多环节上都要进行数据的转换或加工。
(3)还有大量的人与人之间的交流。
•软件开发工具是为上述四类信息的合理存储、正确转化、顺畅流通提供帮助。
(填空)4、软件开发工具用到的理论和方法有6种:概念模式、数据库技术、编译技术、人机界面、项目管理和版本管理、系统科学与系统工程理论3.2概念模式及其作用1、名词解释概念模式:又称概念模型,原是认知科学中的一个用语,指人们在认识事物过程中,对某一事物或某一系统形成的抽象的、一般化的概念框架。
2、简答:概念模式的作用和意义有哪些?(1)概念模式是人们认识客观世界的一种方法、工具。
(2)概念模式是人们在长期的实践活动中逐渐形成的。
(3)概念模式总是在一定的理论思想指导之下形成的,同时又不断地根据实际情况得到修正。
(4)概念模式在认识过程中十分重要,同时作为(交流)与(表达工具)也是十分重要的。
3、概念模式有相对性,必须简单明了、易于理解。
•框图:是人们在编写软件时最早使用的一种概念模式,它是用来描述程序执行的逻辑过程的,它把程序的基本步骤归纳为:处理、判断、输入输出、起始或终结等几个基本功能。
•结构图:表示大型软件的层次结构,即模块结构。
它以模块的调用关系为线索,从宏观上使人一目了然地掌握软件的全面。
•数据流程图(DFD):面对的是一个系统的信息流程,更多地用于描述某一业务处理系统的信息来源、存储、处理去向的全面情况。
它的基本思想是把信息流看作一个组织或系统运作的线索,力图简明扼要地勾画出全局。
•与结构图相比,DFD更适用于(客观描述),而结构图则着重于软件模块之间的(控制)。
•DFD的基本元素是(外部实体)(数据处理)(数据存储)•实体关系图:是一种用于描述静态数据结构的概念模式,它以实体、关系、属性三个基本概念概括数据的基本结构。
•数据字典(DD):是一种描述数据内容的概念模式,它用表格的形式列出数据的基本属性以及相互关系,它的雏形是编写软件时的变量说明或标识符清单。
•与ER图相比,更适于记录各种细节。
•时序网络:主要用于描述系统状态及其转换方式,因此常常用于一些实时控制方面的软件的功能。
它的基本概念是状态与转换。
•10、计算机模拟模型:是一种强有力的概念模式,它利用计算机大量、高速处理信息的能力,在计算机内设置一定的环境,又以程序来表现客观系统中的某些规律或规则,计算机可以在设定好的环境、按定好的规则高速运行,以便人们观察与预测客观系统的状况。
•11、直观模型:用可视化的图标、图像、图标、甚至随手画的素描等元素描述心目中的系统。
3.3信息库及其一致性1、传统的信息传递方式是通过(文档)形式交流的,主要有(系统说明书)(设计方案)(使用手册)(填空、单选、多选)2、信息库:是一个包罗万象的,随着项目进展而不断修改与补充的数据集合。
3、信息库研究中的核心问题是如何保持信息库的一致性4、范围:数据仓库>信息库>数据库3.4人机界面及其管理1、对于用户,界面就是系统本身。
2、简答:用户界面的基本原则(1)用户界面的主要功能是通信。
(2)界面必须保持一致(3)界面必须使用户随时掌握任务的进展状况(4)界面必须能提供帮助(5)能可让程序多干,不可以让用户多干3、人机界面设计时主要灵活性和一致性矛盾的权衡。
(填空)4、AD/Cycle的系统结构模式SAA三个接口:对程序员的接口CPI、对其他计算机系统的接口CCS、对用户的接口CUA5、人机交互手段的八个方面:键盘操作、屏幕滚动、菜单选择、帮助系统、鼠标操作、色彩应用、数据录入、信息显示。
3.5项目管理与版本管理1、名词解释项目管理:指与固定的生产线上的日常生产管理不同的,具有更大的变动性、时间性的一类管理任务。
2、简答:项目管理的特点(1)子任务多,关系复杂(2)任务不可重复,形势不断变更(3)协调组织的任务十分突出,资源浪费闲置的风险与合理地优化组合、提高效益的机会并存。