还剩5页未读,继续阅读
文本内容:
1.1软件的基本概念(例如,软件的定义、文档、软件的特点等)(判断题:要纠正软件就是程序,开发软件就是编写程序的错误观念)软件是与计算机系统操作有关的程序,规程、规则及任何与之相关的文档和数据软件是程序以及开发,使用和维护程序所需要的文档,包括机器运行所需要的各种程序及有关资料程序,由应用程序、系统程序等构成文档,由面向用户的文档及面向开发者的文档构成软件的基本特点•
1.计算机软件产品是一种逻辑产品部件而不是物理产品部件2软件产品的生产主要是研制,是通过人们的智力活动,把知识与技术转化成信息的一种产品•3,软件具有“复杂性其开发和运行常受到计算机系统的限制软件维护复杂性的问题4软件不存在磨损,物理上不会老化,但存在软件退化问题•
5.软件成本昂贵,其开发方式目前尚未完全摆脱手工生产方式
1.2软件危机的概念软件危机是指在软件开发和维护过程中所遇到的一系列严重问题
1.3软件工程学的概念(定义)、研究的内容(三要素)(主要研究如何应用软件开发的科学理论和工程技术来指导大型软件系统的开发)软件工程是一门指导计算机软件系统开发和维护的工程学科软件工程定义:软件工程是开发、运行、维护和修复软件的系统方法(IEEE)研究内容:方法、工具和过程
1.4软件工程学的原理、原则原理•用分阶段的生命周期计划严格管理;•坚持进行阶段评审;•实行严格的产品控制;•采用现代软件开发技术;•结果应该能审查;•开发小组的人员应该少而精;•承认不断改进软件工程实践的必要性软件工程的基本原则抽象(abstractian)•,模块化(modularity)信息隐蔽(information hiding)•,局部化(localization)一致性(consistency)•完备性(completeness)•
1.5软件工程的基本(主要)目标(多快好省)低开发成a•付出较低的开发成本;b•达到耍求的软件功能;易于维按时父付c•取得较好的软件性能;d•开发的软件易于移植;e•需要较低的维护费用;局性能f•能按时完成开发工作,及时交付使用可验证性(verifiability)•
1.6软件开发模型概念(常用的几种)软件生存周期模型又称软件开发模型或软件过程模型,它是从某一个特定角度提出的软件过程的简化描述.(模型的主耍特点是简单化软件过程模型是软件开发实际过程的抽象与概括)计划
1.7传统的瀑布模型分成哪几个阶段,以及基本任务
2.1基于计算机的系统基于计算机的系统元素:运基于计舁机的余统口」能成为呆一个更大余统中的一行个元素,并称为该系统的宏元素也就是说,时宏元素是一个基于计算机的系统,它是某一个更大的基于计算机的系统的一部分,因此,系统具有复杂的层次结构
2.2可行性研究的概念、目的、任务概念:开发一个基于计算机的系统,会受到时间和资源上的限制,应据客户提供的时间和资源条件进行可行性研究,避免人力、物力和财力上的浪费目的:用最小的代价,在尽可能短的时间内确定问题是否有解和是否值得解任务:研究问题是否有解
2.3可行性研究内容包括哪几方面的可行性经济可行性研究技术可行性社会可行性方案的抉择与可操作性可行性研究报告
2.4系统分析与系统结构模板系统分析是关于客观世界中问题空间的一个加工过程,输入:目标系统的问题空间,输出:系统需求规范,加工过程则是一个抽象和理解的过程.软件开发方法(主导):结构化方法,面向对象方法常用分析方法•功能分解方法:功能分解方法=功能+子功能+功能接口思想:将系统看成由若干功能构成的一个集合,每个功能又可分若干子功能(子加工或者过程),过程中同时定义每一个功能的接口•数据流方法:数据流方法=数据流+数据变换+数据存储+终结点+加工说明+数据词典(终结点是通常的数据源和数据池)思想:分析人员沿着问题空间的数据流进行分析,从而,把数据流影射到分析结果的模型上结构化方法总的指导思想自顶向下、逐步求精基本原则是功能的分解与抽象瀑布模型原型化方法:
(1)快速建立需求规格原型(RSP法);
(2)快速建立渐进原型(RCP法)•信息造型方法:信息造型=对象+属性+联系+父类型/子类型+关联对象思想:由问题空间认识导出数据结构,建立分析模型,描述工具之一是ER图(实体一联系图),基本元素是实体,属性和关联ACKSON方法)•面向对象方法:面向对象方法=对象+类+结构(分类/组装)+继承/委托+消息(通信)思想:利用面向对象概念和方法,把重点集中在对问题空间的理解上,为软件系统需求建造模型结构模版(系统体系结构常用结构图来表达)用户界面处理“处理与控制功能栩入输7出~士nd处理维护和自测试处7理创建一个自顶向下,逐层细化的层次结构;系统总体结构关系图又称为结构环境图(ACD:定义了系统的组成)或者系统语境图(SCD),它位于系统模型图的最顶层•.1软件系统分析(软件需求分析)的概念、原则及任务系统分析是关于客观世界中问题空间的一个加工过程,输入:目标系统的问题空间,输出:系统需求规范,加工过程则是一个抽象和理解的过程;本质上是人们的一种思维过程,也就是把系统的问题空间加工为系统的需求规格;系统设计与编程则是解空间的问题软件需求是指用户对目标系统在功能、行为、性能等方面的期望软件需求分析是发现、求精、建模和产生规格说明的过程,软件开发人员需对应用问题及环境的理解、分析,为问题涉及的信息、功能及行为建立模型需求分析实际上是对系统的理解与表达的过程,是一种软件工程的活动软件需求工程是一个包括创建和维护系统需求所必需的一切活动过程软件需求具有几个特征重要性困难性艰巨性需求分析原则
(1)必须理解和表示问题的信息域,可用数据模型描述(信息域:包括信息流,信息内容和信息结构)
(2)必须定义软件将完成的功能,可用功能模型描述(功能域反映上述三方面的控制信息)
(3)必须表示软件的行为(服务,操作),可用行为模型描述;
(4)对描述的信息,功能和行为模型必须被划分(分解),使得分析模型可以用层次的方法展示细节
(5)分析过程应该从要素信息移到实现细节可以采用逐步求精的技术需求分析的任务借助于当前系统的逻辑模型导出目标系统的逻辑模型具体任务绘制系统关联图创建用户接口原型分析需求可行性确定需求的优先级为需求建立模型创建数据字典等
3.2需求分析的过程
1、问题识别(获取),双方确定问题的综合需求
2、分析与综合,导出软件的逻辑模型
3、编写文档a)编写“需求说明书”,把双方共同的理解与分析结果用规范的方式描述出来b)编写初步用户使用手册,c)编写确认测试计划,d)修改与完善项目开发计划
4、分析评审
3.3软件需求建模(三个子模型+数据字典)经过软件的需求分析建立起来的模型可以称它为分析模型或者需求模型分析模型实际上是一组模型分析模型是需求规格说明中的其中一部分软件分析模型应包含的基本目标・描述用户对软件系统的需求;.为软件设计奠定一个良好的基础;•定义一组需求,并且可以作为软件产品验收的标准三个子模型数据模型:数据对象、属性和关系(ER图)功能模型(数据流模型)行为模型(状态机模型):状态转换图一事件、状态和行为数据字典:用于描述软件系统中使用或者产生的每一个数据元素,是系统数据信息定义的集合
3.4结构化分析方法(SA方法)的概念和描述工具(数据流图、数据词典、加工说明、其他补充材料)结构化开发方法(快速、自然和方便)•结构化分析方法(SA法);•结构化设计方法(SD法);•结构化程序设计方法(SP法)必考—结构化分析方法(SA方法)概念:是一种建模的活动,主要是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型基本思想是“分解”和“抽象”SA法的描述方法
1、分层的数据流图(DFD):(分解)描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入数据流:是数据在系统内传播的路径圆或椭圆加工:(数据处理),加工对数据流进行某些操作或变换数据存储:指暂时保存的数据数据存储单或双杠数据源点和终点_________文件5是软件系统外部环境中的实体数据源点或终点矩形框画分层DFD图的方法;先全局后局部,先整体后细节,先抽象后具体画分层DFD图的原则转换为逻辑输出所需的加工处理涉抿涔四种基本类型符号加工分解的原则(自然性,均匀性,分解度)子图与父图的“平衡”合理使用文件
2、数据词典用于描述软件系统中使用或者产生的每一个数据元素,是系统数据信息定义的集合条目数据流数据项文件基本加工
3、描述加工逻辑:结构化语言、判定表及判定树
3.5软件规格说明软件需求规格:也称为功能规格说明、需求协议以及系统规格说明等,它是需求开发任务的最终产物描述方法•用结构化和自然语言编写文本型文档;•建立图形化模型;•用形式化语言编写内容功能与行为的需求描述以及非功能(行为)需求描述
4.1软件设计的概念(包括总体设计、详细设计)软件设计是运用一些基本的设计概念和各种有效的方法和技术,把软件需求转化为软件表示的过程,也就是把它加工为在程序细节上非常接近于源程序的软件表示
4.2软件设计原则和原理基本目标•设计必须实现分析模型中所有的功能和性能的需求;•设计必须具有良好的可读性和可理解性;•设计应该是完整的,包括数据、体系结构、功能、行为、接口等设计软件设计原则.设计过程不应该受到“隧道视野的限制.设计应该可以跟踪到分析模型.设计不应该每次从头做起.软件设计的结构应该尽量模拟问题域结构,设计应该具有一致性和集成性.设计应该适应变更.设计应该具有容错性和异常处理的能力.设计不是编码.在创建设计时就应该能够评估系统的质量.应该评审设计以减少概念性的错误软件设计原理L模块化模块是程序对象有名字的集合模块化就是将系统划分为若干个模块,每个模块完成一个子功能模块分解标准模块可分解性模块可组装性模块可理解性模块连续性模块保护性
2.分解与抽象
3.逐步求精
4.信息隐藏信息描述体系结构设计
4.4软件体系结构、系统分解(常用工具、
4.3软件设计过程和模型软件体系结构指软件的整体结构图形等)和这种结构提供系统在概念上的整体性的方式
4.5模块和模块设计、模块的内聚度和类型、模块的耦合度和类型、模块设计的准则(高内聚低耦合)
4.6面向数据流的设计方法(SD方法与描述工具)
4.7数据流图的两种类型,从数据流图导出程序的初始结构图,常用的
(1)变换分析与变换设计
(2)事务分析与事务设计
4.9结构化程序设计及基本控制结构(SP方法)
4.10过程(详细)设计的工具(常用工具程序流程图、盒图、问题分析图(PAD)、伪代码等)
5.1测试的基本概念(定义)
5.2测试的目的、原则以及流程
5.3常用的测试的方法(手段)和技术(人工评审静态测试、机器静态分析、程序正确性证明、机器动态测试)
(1)黑盒法及技术
(2)白盒法及技术
6.4程序流图及与复杂度计算(McMabe复杂度)
7.5测试的步骤(策略)
(1)单元测试
(2)集成测试(系统安装测试、系统组装测试、综合测试)
(3)验收测试(确认测试、有效性测试)
(4)系统测试
8.1软件维护的定义、软件维护的类型(分类)
6.2软件维护的特点(代价、副作用)
6.3软件维护的流程
7.4软件的可维护性概念,*
6.5软件再工程的基本概念
8.1Jackson方法的基本概念
7.2Jackson图(用于描述数据结构和程序结构)
7.3Jackson方法的设计步骤
8.2原型开发的分类
9.3快速原型开发的过程
9.1面向对象基本概念对象、类(类的结构)、封装性、继承性、多态性、消息和方法
9.2面向对象建模
(1)面向对象建模(Rumbaugh方法,OMT(Object ModelingTechnique))
(2)对象模型概念和描述工具(对象图)
(3)动态模型概念和描述工具(状态图)
(4)功能模型概念和描述工具(数据流图)
(5)面向对象分析模型中三个子模型的关系
10.3面向对象分析
(1)面向对象分析及基本过程(Coad与Yourdon方法的三个子模型、对象模型的五个层次)识别类对象、划分结构(分类■继承;组装-委托)、定义属性、定义服务、标识主题
(2)建立对象模型(描述系统的什么)
(3)建立动态模型(描述系统的什么)
(4)建立功能模型(描述系统的什么)
11.4面向对象设计
(1)面向对象设计的基本概念
(2)OOD的三大活动・总体设计(系统分解与设计)・数据设计・对象设计
(3)系统结构分解(块状型、层次型、混合
(4)00D模型(四个垂直部分与五个层次)
(5)数据设计与对象设计
9.5统一建模语言(UML)的基本概念以及建模•静态模型用例图、类图、对象图、包图•动态模型状态图、活动图、顺序图、合作图•实现模型构件图、配置图。
个人认证
优秀文档
获得点赞 0