软件工程复习笔记.doc
《软件工程复习笔记.doc》由会员分享,可在线阅读,更多相关《软件工程复习笔记.doc(22页珍藏版)》请在沃文网上搜索。
1、软件工程复习笔记第一章绪论一、软件的特点1、软件计算机程序及其说明程序的各种文档2、程序是计算机任务的处理对象和处理规则的描述3、文档是有关计算机程序功能、设计、编制、使用的文字或图形资料4、软件的特点1)软件是一种逻辑产品2)软件产品的生产主要是研制3软件产品不会用坏不存在磨损、消耗问题4软件产品的生产主要是脑力劳动5软件费用不断增加软件成本相当昂贵二、软件生产有几个阶段各有何特征1、程序设计时代19461956年生产方式个体手工劳动工具机器语言、汇编语言开发方法追求程序运行效率硬件特征价格贵、存储容量小、运行可靠性差软件特征只有程序、程序设计概念不重视程序设计方法2、程序系统时代19561
2、968年生产方式作坊式的小集团合作生产生产工具高级语言开发方法个人技巧开始提出结构法方法硬件特征速度、容量、工作可靠跃居第一明显提高软件特征程序员数量猛增加导致软件危机出现。3、软件工程时代1968年至今生产方式工程化的生产生产工具数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件硬件特征向超高速、大容量、微型化以及网络化方向发展三、什么是软件危机其产生的原因是什么1、软件危机软件发展到第二阶段末期一些复杂的、大型的软件开发项目提出来了但是软件开发技术进步一直不能满足发展的要求。在软件开发中遇到的问题找不到解决办法使问题积累起来形成了尖锐的矛盾因而导致了软件危机。2、软件危机的表
3、现1经费预算经常突破2开发的软件不能满足用户的要求3开发的软件可维护性差4软件的软件可靠性差3、原因1软件的规模越来越大结构越来越复杂2软件开发管理困难而复杂3软件开发费用不断增加4软件开发技术落后5生产方式落后6开发工具落后四、什么是软件工程其目标和内容是什么1、软件工程用科学知识和技术原理来定义、开发、维护软件的一门学科软件工程性质它涉及计算机科学、工程科学、管理科学、数学等领域计算机科学着重于原理和理论而软件工程着重于如何建造一个软件系统。用工程科学的观点进行费用估算制定进度制定计划和方案。用管理科学的方法和原理进行生产的管理。用数学的方法建立软件开发中的各种模型和算法。2、目标建造一个
4、大型软件系统一般有以下几个目标1付出较低的开发成本2达到软件要求的功能3取得较好的软件性能4开发的软件易于移植5需要较低的维护费用6能按时完成开发任务及时交付使用7开发的软件可靠性高3、内容软件开发技术主要研究软件开发方法、软件开发过程、软件开发工具和环境软件开发管理软件管理学、软件经济学、软件必理学4、面临的问题1软件的费用2软件的可靠性3软件的维护4软件的生产率5软件的重用五、什么是软件的生存周期它有哪几个活动1、软件工程过程规定了获取供应开发操作和维护软件时要实施的过程活动和任务。目的是为各种人员提供一公共的框架以便用相同的语言进行交流。包括获取过程供应过程开发过程操作过程维护过程管理过
5、程支持过程。2、软件的生存周期一个软件从提出开发要求开始直到该软件报废为止的整个日期。可行性分析和项目开发计划需求分析概要设计详细设计编码测试维护。六、什么是软件生存周期模型有哪些主要的模型1、生存周期模型描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持为开发过程中的活动提供统一的政策保证为参与开发的人员提供帮助和指导是软件生存周期模型化技术的基础也是建立软件开发环境的核心。生存周期模型作用确立了软件开发中各阶段的次序限制活动准则所要遵守的规定和限制便于各种活动的协调人员之间的有效通信有利于活动重用和活动管理。生存周期模型准则模型能表示各种活动的实际工作方式能随情况变化而演
6、化能表示各种活动间同步和制约关系能表示活动的动态特性。容易为开发人员理解能适应不同软件项目具有较强灵活性能支持软件开发环境的建立2、主要的模型1瀑布模型将软件生存周期中各活动规定为依线性顺序连接的若干阶段。包括可行性分析项目开发计划需求分析概要设计详细设计编码测试和维护。它是一种理想的线性开发模式缺乏灵活特别是无法解决软件需求不明确的问题。适合于需求不明确设计方案有一定风险的软件项目。2增量模型软件在模型中是“逐渐”开发出来的开发一部分展示一部分能及早发现问题。或者先开发一“原型”软件完成主要功能然后逐步完善最终获得满意的软件产品。具有较大的灵活性适合于软件需要不明确设计方案有一定风险的软件项
7、目3螺旋模型将瀑布模型与增量模型结合起来加入风险分析弥补了这两种模型的不足。开发分四步制定计划风险分析开发实施用户评估。是一种风险驱支模型。适合于大型软件的开发。4喷泉模型以用户需求为动力以对象为驱运动模型适合于面向对象开发方法使开发过程具有迭代性和无间隙性。迭代性系统有些部分常常重复工作多次相关功能在每次迭代中随之加入演化的系统。无间隙在分析设计实现等开发活动之间不存在明显边界。5基于知识的模型瀑布模型与专家模型的结合。开发各阶段都有利用相应专家系统来辅助设计使维护在系统需求一级进行。6变换模型适合于形式化开发方法的模型。七、什么是软件开发方法有哪些方法1、软件开发方法是一种使用早已定义好的
8、技术集及符号表示习惯来组织软件生产的过程软件开发开发的目标通过使用成功的软件开发方法在规定的投资和时间内开发出符合用户需求的高质量的软件。软件开发方法是克服软件危机的重要方面之一对软件工程及软件包产业的发展起了不可估量的作用。2、有如下主要的方法1结构化方法由结构化分析、结构化设计、结构化程序设计构成。它是一种面向数据流的开发方法适合数据处理领域。指导指导思想是自顶向下逐步求精。用数据流图建立系统功能模型完成需求分析工作。用软件结构图建立系统物理模型实现概要设计。最后用结构化程序设计来实施详细设计,对于特别复杂的项目不太适应2JACKSON方法一种面向数据结构的开发方法适合小规模项目。首先描述
9、问题的输入输出数据结构分析其对应性然后推出相应程序结构从而给出问题的软件过程描述。当输入与输出数据结构无对应关系时难于应用此方法JSD一完整的系统开发方法对JSP进行了扩充3维也纳开发方法VDMVDM是一种基于模型的方法。它的主要思想是将软件系统当作模型来描述把软件的输入、输出看作模型对象。软件的需求用严格的形式语言描述然后把模型逐步变换成目标系统。4面向对象的开发方法基本出发点是尽可能按人类认识世界的方法和思维方式来分析和解决问题。以对象作为最基本的元素客观世界中具体的事物事件概念和规则都有可看成对象它也是分析问题解决问题的核心。开发方法包括面向对象分析面向对象设计面向对象实现。主要有BOO
10、CH方法Coad方法和OMT方法。为统一这些方法的术语概念和模型1997年推出统一建模型语言UML。结构化方法可用瀑布模型增量模型螺旋模型进行开发。JACKSON方法可用瀑布模型增量模型进行开发。面向对象的开发方法可用喷泉模型瀑布模型增量模型进行开发。形式化的维也纳方法只能用变换模型进行开发。软件工具为支持软件人员开发和维护活动而使用的软件。使用软件工具后可提高软件生产率。目前软件工具发生了很大变化目的是生成软件周期各个环节的自动化。主要用于软件的分析和设计使用这些工具软件开发人员就能在微机或工作站上以对话方式建立各种软件系统。工具箱最初的软件工具是以工具箱形式出现的。但界面不统一工具内部无联
11、系工具切换由人工操作。它们对大型软件的开发和维护的支持能力有限。软件开发环境目的是使软件工具支持整个生存周期。而且做到不仅支持各阶段的技术工作还要支持管理和操作工作保持项目开发的高度可见性可控制性和可追踪性。计算机辅助软件工程可简单定义为软件开发的自动化简称为CASE。实质是为软件开发提供一组优化集成的大量节省人力的软件开发工具。是软件工具和软件开发方法的结合。目的是实现软件生存周期各环节的自动化并使之成为一个整体。CASE工具与以往软件工具不同体现在1支持专用的个人计算环境2使用图形功能对软件系统进行说明并建立文档3将生存周期各阶段的工作连接在一起4收集和连接软件系统从最初的软件需求到软件维
12、护各个环节的所有信息5用人工智能实现软件开发和维护工作的自动化。第二章可行研究与项目开发计划软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发是否值得去开发。注意可行性研究的目的不是去开发一个软件项目而是研究这个软件项目是否值得去开发其中的问提能否解决。可行性研究实质上是要进行一次简化、压缩了的需求分析、设计过程要在较高层次上以较抽象的方式进行需求分析和设计过程。一、可行性研究的任务是什么技术可行性对要开发项目的功能、性能、限制条件进行分析确定在现有的资源条件下技术风险有多大项目是否能实现。包括开发的风险资源的有效性技术开发人员在评估技术可行性时一旦估计错误将会出
13、现灾难性后果。经济可行性包括成本效果分析、公司经营长期策略、开发所需的成本和资源、潜在的市场前景。社会可行性包括合同、责任、侵权、用户组织的管理模式及规范其他一些技术人员常常不了解的陷阱等。二、可行性研究有哪此步骤1确定项目规模和目标2研究正在运行的系统3建立新系统的高层逻辑模型4导出和评价各种方案5推荐可行性方案6编写可行性报告三、可行性研究报告有哪些内容1、引言2、可行性研究前提3、对现有系统的分析4、所建议系统的技术可行性5、所建议系统的经济可行性分析6、社会因素可行性分析7、其它可供选择方案8、结论意见四、成本、效益分析有哪些指标成本效益分析首先是估算将要开发的系统的开发成本然后与可能
14、取得的效益进行比较和权衡。效益分有形效益和无形效益两种。有形效益可以用货币的时间价值、投资回收期、纯收入等指标进行度量无形效益主要从性质上、心理上进行衡量很难直接进行量的比较。1、货币时间价值2、投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。3、纯收入就是在整个生存周期之内的累计经济效益折合成现在值与投资之差。五、项目开发计划有哪些内容1、项目概述2、实施计划3、人员组织及分工4、交付期限系统流程图名称说明处理能改变数据值或数据位置的加工或部件输入/输出表示输入或输出是一广义不指明具体设备的符号连接指出转到图的加一部分或从另一部分转来通常在同一布页上换页连接指出转到另一页上或从另
15、一页上转来数据流用来连接其他符号指明数据流动方向文档通常表示打印输出也可表示用打印终端输入数据联机存储表示任何种类的联机存储磁盘磁盘输入/输出也可表示存储在磁盘上的文件或数据库显示CRT终端或类似的显示部件可用于输入或输出也可既输入又输出人工输入人工输入数据的脱机处理如填写表格人工操作人工完成的处理如会计在工资支票上签名辅助操作使用设备进行脱机处理通信链路通过通信链路传送数据第三章软件需求分析一、什么是需求分析需求分析阶段的基本任务是什么1、需求分析开发人员要准确理解用户的要求进行细致的调查分析将用户非形式的需求陈述转化为完整的需求定义再由需求定义转换为相应的形式功能规约的过程。11需求分析的
16、难点问题的复杂性。由用用户需求涉及的因素繁多引起如运行环境和系统功能交流障碍。需求分析涉及人员较多这些人具备不同的背景知识处于不同角度扮演不同角色造成相互之间交流困难。不完备性和不一致性。用户对问题的陈述往往是不完备的各方面的需求可能还存在矛盾需求分析要消除矛盾形成完备及一致的定义。需求易变性。12适用的基本原则必须能够表达和理解问题的数据域和功能域。数据域包括数据流数据通过一个系统时的变化方式数据内容和数据结构功能域反映上述三方面的控制信息。可以把一个复杂问题按功能进行分解并可逐层细化。建模。可更好地理解软件系统的信息功能行为。也是软件设计的基础。2、基本任务1问题识别你这些需求包括功能需求
17、性能需求环境需求用户界面需求2)分析与综合导出软件的逻辑模型3)编写文档主要包括编写需求规则说明书初步用户使用手册确认测试计划修改完善软件开发计划二、什么是结构化分析方法该方法使用什么描述工具1、结构化分析方法(SA)简称SA是面向数据流进行需求分析的方法2、策略自顶向下逐层分解的分析策略顶层抽象地描述整个系统底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。3、描述工具利用图形等半形式化的描述方式表达需求使用数据流图数据字典作为描述工具使用结构化语言判定表判定树描述加工逻辑。1)数据流图描述系统的分解即系统由哪几个部分组成各部分之间有什么联系2数据字典数据流图中每一个图形元素。
18、3描述逻辑加工的结构化语言判定表判定树三、结构化分析方法通过哪些步骤来实现1、了解当前系统的工作流程获得当前系统的物理模型2、抽象出当前系统的逻辑模型3、建立目标系统的逻辑模型4、作进一步的补充和优化四、什么是数据流图其作用是什么其中的基本符号各表示什么含义1、数据流图简称DFD是SA方法中用于表示系统逻辑模型的一种工具是一种功能模型。2、作用它以图形的方式描绘数据在系统中流动和处理的过程反映系统必须完成的逻辑功能。3、基本符号及含义箭头数据流圆或椭圆加工双杠数据存储方框数据的源点和起点五、画数据流图的步骤首先画系统的输入输出即先画顶层数据流图。顶层图只包含一个加工用以表示被开发的系统。画系统
19、内部即画下层数据流图。将层号从0号开始编号采用自顶向下由外向内的原则。画更下层数据流图时则分解上层图中的加工一般沿着输出入流的方向凡数据流的组成或值发生变化的地方则设置一个加工一直进行到输出数据流。如果加工的内部还有数据流则继续分解直到每个加工足够简单不能再分解为止。不能分解的加工称为基本加工。六、画数据流图就注意的事项命名。不能使用缺乏具体含义的名字加工名应能反映出处理的功能。画数据流而不是控制流。数据流名称只能是名词或名词短语整个图中不反映加工的执行顺序。一般不画物质流。每个加工至少有一个输入数据流和一个输出数据流反映出此加工数据的来源与加工的结果。编号。某个加工分解成加一张数据流图时上层
20、图为父图下层图为子图。子图应编号子图上的所有加工也应编号子图的编号应与父图的编号相对应。父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致局部数据存储。当某慨数据流图书馆中的数据存储不是父图中相小朋友加匠外部接口而只是本图中某些加工之间的数据接口则称这些数据存储为局部数据存储。提高数据流图的易理解性。七、什么是数据字典其作用是什么它有哪些条目1、数据字典简称DD用来定义数据流图中各个成分的具体含义的它以一种准确的、无二义的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述2、作用1为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述2为分
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习 笔记