1. 软件:是能够完成预定功能和性能的可执行的计算机诚信度。包括使程序正常执行所需的数据,以及有关描述程序
操作和使用的文档。即:软件 = 程序 + 文档
2. 软件危机:在软件的开发和维护过程中遇到的一系列严重问题。软件危机开始于20世纪60年代中后期(1968年前
后)
3. 软件工程方法学:把在软件生命周期全过程中使用的一整套技术方法的集合。三要素:方法、工具、过程 4. 软件工程学的范畴:
软件开发技术(软件开发方法学、软件工具、软件工程环境)、软件工程管理(软件管理学、软件经济学、度量学)。 5. 软件工程:是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,
目的是为了实现按照预期的进度和经费完成软件生产计划,同时提高软件的生产率和可靠性。 6. 3种编程泛型:过程式编程泛型、面向对象编程泛型、基于构件技术的编程泛型
7. 面向对象程序设计中,数据和操作被封装在一个对象中,对象之间则是通过消息相互联系。
8. 3种编程泛型的差异: 粒度由小到大依次是:过程式编程泛型、面向对象编程泛型、基于构件的编程泛型。 9. 软件工程的分化:1、传统软件工程2、面向对象软件工程3、基于构件的软件工程
10. 消除软件危机的途径:①正确认识计算机软件;②充分认识到软件开发是一种组织良好、管理严密、各类人员协同
工作的工程项目;推广使用在实践中总结出来的开发软件的成功的技术和方法;③开发和使用更好的软件工具。 第二章 软件生存周期与软件过程
1. 软件生存周期:计划、开发、运行3个时期。每个时期进一步又可划分成若干个阶段。
需求分析-》软件分析-》软件设计-》编码测试-》软件测试-》运行维护
2. 需求分析阶段的主要任务是用户和软件人员双方一起来充分地理解用户的要求,并把双方共同的理解明确地表达成
一份书面文档——需求说明书。 3. 需求分析(用户视角):功能需求、性能需求、环境约束、外部接口描述。 4. 软件分析(开发人员视角):建立与需求模型一致的,与实现无关的软件分析模型。 5. 软件设计:总体设计/概要设计、详细设计(确定软件的数据结构和操作)。 6. 软件测试:单元测试、集成测试、系统测试。
7. 软件开发方法可区分:形式化方法、非形式化方法。 开发模型 特点 场合 需求明确的中小型软件开发 需求模糊的小型软件开发 瀑布模型(历史悠久、广为人知,它的优势在于它是规范的、文档驱动的线性模型,每个阶段必须完成方法;这种模型的问题是,最终开发的软件产品可能并不是客户真正需要的) 固定文档 快速原型模型(正是为了克服瀑布模型的缺点提出来的,他通过快速构建起一个可以在计算机上运行的原型系统,让用户 使用原型并收集用户反馈意见的方法,获取用户的真实需求) 用户介入早,通过迭代完善用户需求,应用快速开发工具 增量模型(具有可在软件开发的早期阶使投资获得明显回报和交易维护的优点,但是,要求软件具有开放的结构是使用这种模型固有的困难。) 螺旋模型(适用于内开发的大型软件项目,但是只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会成功。) 每次迭代完成一个增量,可用于OO开发 典型迭代模型,重视风险分析,可用于OO开发 软件开发与构件开发平行进行,主要用于OO开发 形式化的需求规格说明书,自动的程序变换系统 形式化的增量开发模型,在洁净状态下实现软件的制作 容易分块的大型软件开发 具有不确定性的大型软件开发 领域工程,行业的中型软件开发,主要用于oo开发 理想化的模型,尚无成熟工具支持 开发团队熟悉形式化方法,中小型软件开发 构件集成模型(面向对象基于构件库,融合螺旋模型的特征,支持软件开发,迭代方法,软件复用思想) 转换模型(是将形式化软件开发和程序自动生成技术相结合的一种软件开发模型。) 净室模型(是一种形式化的增量开发模型,其基本思想是力求在分析和设计阶段就消除错误,确保正确,然后在无缺陷或洁净的状态下实现软件的制作。) 8. 形式化开发模型:转换模型、净室模型
9. 软件可行性研究:经济可行性、技术可行性、运行可行性、法律可行性。
1 / 7
10. 可行性研究的步骤:对当前系统进行调查研究、导出新系统的解决方案、提出推荐方案、编写可行性论证报告。 第三章 结构化分析与设计
1. SA需求分析的两项基本任务:建立系统分析模型、编写SRS。 2. 分析模型组成:功能模型、数据模型、行为模型 3种。 3. 抽象 和 分解 是结构化分析的主要指导思想。 4. SD阶段把分析模型中的DFD图转换为 最终SC图。
5. 需求分析的步骤:需求获取、需求提炼、需求描述、需求验证。
6. SD模型的组成:从上到下依次是:过程设计、接口设计、体系结构设计、数据设计。 7. 结构化分析的基本步骤:
自顶向下对系统进行功能分解,画出DFD图;由后向前定义系统的数据和加工;编制DD和PEPES;写出SRS。 8. 据流图DFD(Data Flow Diagram):指明数据在系统中如何流动和变换;描述对数据流进行变换的功能;DFD中每个功
能的描述包含在加工说明(PSPEC)中。
加工说明是对DFD中每个加工处理的说明,所使用的工具主要有: 结构化语言、判定表、判定树 9. 数据流图的组成符号:
10. 面向数据流的设计方法:从DFD图到SC图的映射的4个步
1、复审DFD图,必要时可再次进行修改或细化; 2、鉴别DFD图的结构特征:事务?变换?; 3、按照规则,把DFD图为初始的SC图 ; 4、改进初始的SC图 。
11. 变换型结构:由输入、变换中心和输出三部分组成。
事务型结构:具有在多种事务中选择执行某类事物的能力。 12. 模块设计(详细设计)的主要任务是编写软件的模块设计说明书。
13. 某银行储蓄系统功能是: 将储户填写的存款单或取款单输入系统。 如果是存款,系统将储户的存款信息(姓名、
住址、存款日期、存款类型、存款金额、利率等)记录在帐户文件中,并打印存款清单给储户;如果是取款,系统先查询帐户文件,并打印取款清单给储户。
(1)画出该问题的数据流图的顶层图和第二层图。 (2)以公式的形式
建立数据流条目“存款单”
骤 :
2 / 7
14. 请把下面的DFD图转换为SC图:
解: SC图为:
15. 下面是货运收费策略:计算铁路运费时,若收件地点在本省以内,快件每公斤1.5元,慢件每公斤1元。若收件地
点在外省,快件每公斤2元,慢件每公斤1.5元。请分别用判定表和判定树表示。
3 / 7
第四章 面向对象和UML(Unified Modeling Languag) 1. UML的2类图:
静态图(用例图、类图、对象图、构件图、部署图); 动态图(状态图、时序图、协作图、活动图)
UML的5种视图:用例视图、逻辑视图、进程视图、构件视图、部署视图。
2. UML中用例图由系统边界、用例、参与者、关联组成。它定义了系统的功能需求,它是从系统的外部看系统功能,
并不描述系统内部对功能的具体实现。
3. 时序图反映对象之间发送消息的时间顺序;协作图着重体现交互对象间的静态链接,它们是同构的。
4. 一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机包括一个机箱,一个主板,多个
存储器和一个电源。存储器分为固定存储器和活动存储器。固定存储器分为内存和硬盘,活动存储器分为软盘和光盘。请建立微机的类图。
5. 一本书的组成有一个封面、一个目录、一个前言、若干章。每章有若干节,每节有若干段,每段有若干句子。每节
还有0个或多个插图、 0个或多个表格。最后有一个附录。请建立该书的类图。
4 / 7
第五章 需求工程和需求分析(直接背出)
1. 软件需求的3个层次:业务需求、用户需求、功能需求。
2. 需求分析的步骤:需求获取、需求建模、需求描述(编写SRS)、需求验证。 3. 需求分析的主要任务:建立需求模型。
4. 需求获取的方法:1、建立联合分析小组 2、用户访谈。 5. 需求建模方法:结构化分析建模方法、面向对象分析建模。
6. 结构化需求模型由3部分组成:功能模型(数据流图、加工规格说明书)、数据模型(数据字典、ER图)、行为模
型(状态转换图、控制流图、控制规格说明书)。 7. 面向对象需求模型:用例模型(用例图、用例规约)、补充规约、术语表。
8. 面向对象需求建模的步骤:画用例图、写用例规约、描述补充规约、编写术语表、调整优化。 9. 用例规约文档的内容:简要说明、事件流、特殊需求、前置条件和后置条件。
10. 用例规约的检查:功能需求的完备性、模型是否易于理解、是否存在不一致性、避免二义性。 11. 需求管理的流程:需求确认、需求跟踪、需求变更。需求跟踪有两种方式,正向跟踪与逆向跟踪。
需求变更的流程:变更申请、审批、更改、更新确认。 第六章 面向对象分析(直接背出)
1. 建立面向对象分析模型步骤:1、建立类/对象层(抽象出类和对象)、2、建立属性层(设计静态属性和关系)、3、
建立服务层(定义动态属性和消息通信)、4、建立结构层(定义层次结构关系)、5、建立主题层 2. 面向对象开发的全过程:OOA(分析)、OOD(设计)、OOP(编码)、OOT(测试)。 3. 分析类的类型:边界类、控制类、实体类。
控制类分离边界类和实体类,可用来建立系统的动态行为模型。实体类用于保存和更新一些对象的有关信息。 4. 面向对象分析时:1、确定分析类,2、静态模型建立画类图,3、动态模型建立画时序图和协作图。 第七章 面向对象设计
1. 软件设计的任务:把分析阶段产生的分析模型转换为软件设计模型。 2. 软件设计包括:数据设计、体系结构设计、接口设计、过程设计。 3. 面向对象设计准则:模块化;抽象;信息隐藏;弱耦合;强内聚;可重用 4. 分解和模块性是实现模块设计的重要指导思想。
5. 模块的性从2个方面度量:模块本身的强内聚、模块之间的弱耦合。 6. 内聚分类:低内聚(偶然性内聚、逻辑性内聚、时间性内聚)、中内聚(过程性内聚、通讯性内聚)、高内聚(顺序
性内聚、功能性内聚)。
7. 耦合分类:弱耦合(非直接耦合、数据耦合、特征耦合)、中耦合(控制耦合)、较强耦合(外部耦合、公共耦合)、
强耦合(内容耦合)。
8. 一个模块,一个功能 是模块化设计的一条准则。
9. OO设计模型由系统架构层、类和对象层、消息层、责任层4个层次组成。 10. OOD的软件设计任务可划分为2个层次:系统架构设计、系统元素设计。
11. 下图是某系学生成绩管理的一部分,(a)和(b) 是两个不同的设计方案,你认为哪一个设计方案较好?为什么?
5 / 7
第八章 编码和测试 1. 测试和纠错:
测试(testing)的目的与任务:目的:发现程序的错误;任务:通过执行程序,暴露潜在的错误。
纠错(debugging)的目的与任务:目的:定位和纠正错误;任务:消除软件故障,保证程序的可靠运行。 2. 测试分类:静态分析(静态分析器分析、代码评审(代码会审、走查、办公桌检查));
动态测试(黑盒测试(功能测试)、白盒测试(结构测试))。
3. 黑盒测试分类(根据被测试程序功能来进行测试):等价类法、边界值法、错误猜测法。
4. 白盒测试分类(以程序结构为依据的测试方法):语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、
路经测试。
5. 某报表处理系统要求用户输入处理报表的日期,如果日期在1990年1月至1999年12月,即系统只能对该段时期内的报表进行处理,则当用户输入的日期不在此范围内时,系统会显示输入错误。该系统规定日期由年月的六位数字字符组成,其中前四位表示年,后两位表示月。现要求采用等价类划分法设计测试用例,以测试程序的“日期检查功能”。 所设计测试用例如下:
(1)有效等价类(6位数字字符、在1990-1999之间、在1-12之间)--199905 (2)无效等价类(有非数字字符)--99MAY (3)无效等价类(少于6位数字字符)--19995 (4)无效等价类(多于6位数字字符)--1999005
6 / 7
(5)无效等价类(小于1990)--1912 (6)无效等价类(大于1999)--200001 (7)无效等价类(小于1)--199800 (8)无效等价类(大于12)--199813
题型: 1、单向选择题(共30分,每题2分)2、填空题(共20分,每小题1分) 3、简答题(共30分,每小题5分)4、应用题(包括2小题,共20分)
7 / 7
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务