软件工程复习资料

合集下载

软件工程复习资料精选全文完整版

软件工程复习资料精选全文完整版

可编辑修改精选全文完整版一、单选题(共20题,40分)1、使用数据流图,并不断细化的需求获取方法是()。

(2.0)A、简易的应用规格说明B、面向数据流自顶向下逐步求精C、访谈D、快速原型法正确答案: B2、Z语言是以()为基础的形式化规格说明语言。

(2.0)A、微积分B、概率C、图形D、一阶谓词演算正确答案: D3、HIPO是指(2.0)A、层次输入处理输出图或表B、层次功能结构图C、功能结构图D、输入处理输出图或表正确答案: A4、高铁调用系统最适宜采用()方法。

(2.0)A、有穷状态机B、 Petri网C、 Z语言D、一阶线性时态逻辑正确答案: B5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。

(2.0)A、可划分为2个有效等价类,2个无效等价类B、可划分为1个有效等价类,2个无效等价类C、可划分为2个有效等价类,1个无效等价类D、可划分为1个有效等价类,1个无效等价类正确答案: B6、用于并发系统,解决定时问题的形式化方法是()。

(2.0)A、 VDMB、 Z语言C、 Petri网D、一阶线性时态逻辑正确答案: C7、软件生命周期中所花费费用最多的阶段是(2.0)A、需求分析B、软件总体设计C、软件维护D、软件实现正确答案: C8、软件质量保证措施SQA不包括:(2.0)A、复审或评审B、软件测试C、程序正确性证明D、软件代码编写正确答案: D9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。

(2.0)A、单元测试B、有效性测试C、确认测试D、集成测试正确答案: C10、总体设计不包括:(2.0)A、体系结构设计B、数据库设计C、模块内算法设计D、逻辑数据结构设计正确答案: C11、关于类和对象的说法,正确的是(2.0)A、一个类只能有一个角色B、类的命名必须用动词C、类的所有对象都具有相同的属性和操作D、类是对象的实例,对象是类的抽象正确答案: C12、数据字典的基本功能是(2.0)A、数据库设计B、数据通信C、数据定义D、数据维护正确答案: C13、软件需求规格说明的内容不应该包括(2.0)A、主要功能B、算法的描述C、用户界面及其运行环境D、软件性能正确答案: B14、增量模型在添加新的模块时,有一个要求是()(2.0)A、需要更多的测试B、有足够的开发人员C、软件体系结构开放D、各个模块都要进行评审正确答案: C15、在软件详细设计过程中不采用的工具是(2.0)A、判定表B、PDLC、程序流程图D、DFD正确答案: D16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(2.0)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑正确答案: B17、耦合是模块之间的相对独立性的度量。

软件工程复习资料

软件工程复习资料

第一章绪论什么是软件工程?软件=程序+数据+文档什么是软件危机?软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件,从而导致软件开发与维护过程中出现一系列严重问题的现象。

什么是软件工程?采用工程化的原理和方法对软件进行计划开发和维护。

软件工程三范型:1.过程式编程范型2.面向对象编程范型3.基于构件技术的编程范型软件工程的发展时期:(1)传统软件工程或者经典软件工程:开发过程:结构化分析一>结构化设计一>面向过程的编码一>软件测试(2)面向对象软件工程开发过程:OO分析与对象抽取一》对象详细设计一》面向对象编码与测试(3)基于构件的软件工程:以软件复用为目标、领域工程为基础,其开发过程一般包括包括以下阶段:领域分析和测试计划定制一一》领域设计一一》建立可复用构件库一一》按“构件集成模型,,查找与集成构件第二章生存周期什么是软件生存周期?计划阶段:需求分析,软件分析开发阶段:软件设计,编码(测试)软件测试维护阶段:运行维护模型特点和使用场合可行性研究1.经济可行性2.技术可行性3.运行可行性4.法律可行性第三章结构化分析与设计结构化程序设计的特点以及论述(1)整个程序的模块化(2)每个模块只有一个入口和出口(3)每个模块都应能单独执行,且无死循环(4)采用自顶向下,逐步细化的方法SA结构化分析设计(结构化)从内容分:1.系统结构设计2.接口设计3.数据设计4.过程设计按照步骤分:1.概要设计2.详细设计第四章OO与面向对象+UML OO的特征1.抽象2.封装3.继承4.多态为什么用面向对象1.符合人类习惯的思维方式2.提高软件系统的可复用性3.提高软件系统的可扩展性4.提高软件系统的可维护性UML相关知识静态图1.用例图:描述系统功能2.类图:描述系统的静态结构3.对象图:描述系统在某个时期的静态结构4.构件图:描述实现系统的元素的组织5.部署图:描述系统环境元素的配置动态图1.状态图:描述系统元素的状态条件和相应2.时序图:按照时间顺序描述系统元素间的交互3.协作图:按照连接关系描述系统元素间的交互4.活动图:描述系统元素的活动流程第五章需求建模需求分析的步骤1.需求获取2.需求建模3.需求描述4.需求验证面向对象需求建模1.画用例图2.写用例规约3.描述补充规约4.编写术语表第六章需求分析面向对象的需求分析1.边界类:边界类提供了对参与者或外部系统交互协议的接口。

软件工程自考复习资料-全

软件工程自考复习资料-全

软件工程自考复习资料-全第一章绪论一、软件的基本概念1.软件是计算机系统中的程序及其文档。

3.文档一般主要面向管理人员、开发人员、用户、使用维护人员。

4.文档在软件工程中的作用:(1)提高软件开发过程的能见度。

(2)提高开发效率。

(3)某程序设计时代:生产方式是个体手工劳动,使用工具是机器、汇编语言,主要通过汇编来实现,不注重程序设计方法。

某程序系统时代:生产方式是作坊式小集团合作生产,生产工具是高级语言,开始提出结构化方法。

某软件工程时代:生产方式是工程化生产,使用数据库、网络、先进的开发技术和方法。

6.软件既是知识性(逻辑性)工业产品,具有一些独特的特性是:某软件是逻辑产品,具无形性,通过计算机的执行才能体现它的功能和作用。

某软件只会退化,不存在磨损和消耗问题。

某成本主要体现在软件的开发和研制上,可进行大量的复制。

某主要靠脑力劳动生产,开发和维护成本高。

7.软件的主要结构和功能是在分析设计阶段决定的。

8.软件的复杂性主要体现在程序的复杂性,即模块内程序的复杂性。

直接关联到软件的简单和可理解性、开发费用多少、开发周期长短和软件潜伏错误的多少。

二、软件危机1.软件危机是指在软件开发和维护时遇到的一系列难以控制的问题导致的供需矛盾。

出现在软件发展的第二阶段末期,随着第三代计算机的诞生之际。

2.软件危机主要体现在:某软件发展速度跟不上硬件的发展和用户需求。

某软件成本和开发进度不能预先预算,用户不满意。

某软件产品质量差,成本高,可靠性没有保证。

某软件可维护性差,产品没有配套文档。

3.软件危机产生原因:(1)软件规模变大,结构更加复杂。

(2)软件开发管理困难。

(3)软件开发技术和工具落后。

(4)软件开发费用增加。

(5)采用落后的个体手工生产方式开发。

4.解决途径:(1)纠正对软件开发的错误观念。

(2)提高软件工程管理水平,重视文档重要性。

(3)使用好的软件开发工具,研究软件开发技术,规范软件开发流程,提高开发效率。

软件工程复习资料

软件工程复习资料

软件工程1、软件的概念:软件是计算机系统中与硬件相依存的另一部分,包括程序、数据、以及相关的文档。

2、软件的组成:程序、数据、文档。

3、软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

4、软件危机消除的办法:P51、必须充分吸取和借鉴人类长期以来从事各种工程项目所积累的行之有效的原理、概念、技术和方法,特别要吸取几十年来人类从事计算机硬件研究和开发的经验教训。

2、应该推广使用在实践中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在计算机系统早起发展阶段形成的一些错误概念和做法3、应该开发和使用更好的软件工具。

总之,解决软件危机,既要有技术措施,又要有必要的组织管理措施。

5、软件工程的含义:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

6、软件生命周期的过程以及任务。

(1)问题定义(2)可行性研究(3)需求分析(4)总体设计(5)详细设计(6)编码和单元测试(7)综合测试(8)软件维护****************************以上为第一章******************第二章●数据流图有四种成分:源点或终点,处理,数据存储,数据流●画DFD(数据流图)的指导原则:1.符号要使用标准符号2.恰当的命名3.流入流出的数据流的条数一致4.名字要保值一致(平衡)5.遵守加工编号规则6.处理必须既有输入流又有输出流(注意:源点和终点可以相同也可以不同)●数据字典的作用:数据字典(DD)的作用也正是在软件分析和设计过程中给人提供关于数据的描述信息。

●数据字典的内容:(1)、数据流(2)、数据流分量即数据元素(3)、数据存储(4)、处理*********************** *******以上为第二章************************************第三章●实体-联系图(ER)图的概念:ER图中包含了实体、联系和属性3中基本成分,通常用矩形框代表实体,用连接先关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,并用直线吧实体(或关系)与其属性连接起来。

软件工程复习资料

软件工程复习资料

软件⼯程复习资料软件⼯程第⼀章⼀、什么是软件?软件(Software)是计算机系统中与硬件相互依存的另⼀部分,它是包括程序(Program),数据(Data)及其相关⽂档(Document)的完整集合。

程序是按事先设计的功能和性能要求执⾏的指令序列数据是使程序能正常操纵信息的数据结构⽂档是与程序开发,维护和使⽤有关的图⽂材料⼆、软件危机原因:与软件本⾝的特点有关(难于维护, 逻辑复杂)与软件开发与维护的⽅法不正确有关:软件≠程序急于求成=拔苗助长各⾃为阵⽆⽅法/学现象:1.成本⾼2.计算机软件和硬件费⽤⽐3.软件质量得不到保证4.由于软件质量问题导致失败的软件项⽬⾮常多5.进度难以控制6.维护⾮常困难办法:软件⼯程(学)三、软件⼯程软件⼯程是应⽤计算机科学、数学及管理科学等原理开发软件的⼯程。

它借鉴传统⼯程的原则、⽅法,以提⾼质量,降低成本为⽬的。

开发、运⾏和维护软件的系统⽅法四、软件⼯程三要素软件⼯程⽅法学包含3个要素:⽅法、⼯具和过程。

五、软件⽣命周期六、软件过程模型瀑布模型瀑布模型适合于⽤户需求明确、完整、⽆重⼤变化的软件项⽬开发。

瀑布模型的成功在很⼤程度上是由于它基本上是⼀种⽂档驱动的模型。

“瀑布模型是由⽂档驱动的”这个事实也是它的⼀个主要缺点。

在项⽬开始的时候,⽤户常常难以清楚地给出所有需求;⽤户与开发⼈员对需求理解存在差异。

实际的项⽬很少按照顺序模型进⾏。

⽤户必须有耐⼼,等到系统开发完成。

缺乏灵活性:因为瀑布模型确定了需求分析的绝对重要性,但是在实践中要想获得完善的需求说明是⾮常困难的,导致“阻塞状态”。

反馈信息慢,开发周期长。

虽然存在不少缺陷,瀑布模型经常被嘲笑为“旧式的”,但是在需求被很好地理解的情况下,仍然是⼀种合理的⽅法。

快速原型模型增量模型增量模型是迭代和演进的过程。

增量模型把软件产品分解成⼀系列的增量构件,在增量开发迭代中逐步加⼊。

每个构件由多个相互作⽤的模块构成,并且能够完成特定的功能。

软件工程复习资料(DYH)

软件工程复习资料(DYH)

软件工程复习资料一、选择题3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是()。

A喷泉模型 B 增量模型C瀑布模型D螺旋模型7.( )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。

A概要设计 B 详细设计 C 编码 D 测试14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为()。

A可理解性 B 可维护性C可适应性 D 可重用性29.软件项目管理必须()介入。

A)从项目的开头B)在可行性研究之后C)在需求分析之后D)在编码之后30.下列选项中,属于成本管理的主要任务的是()。

A)人员的分工B)估算软件项目的成本C)对控制软件质量要素D)对软件阶段产品进行评审40.基于代码行的面向规模的度量方法适合于()。

A)过程式程序设计语言和事前度量B)第四代语言和事前度量C)第四代语言和事后度量D)过程式程序设计语言和事后度量51.在软件质量要素的评价准则中,在各种异常情况下软件能继续提供操作的能力指的是()。

A)容错性B)检测性C)安全性D)可操作性49.在软件质量要素的评价准则中,程序易于理解的程度指的是()。

A)简单性B)准确性C)简明性D)执行效率61.需求分析最终结果是产生()A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书62.需求分析中,开发人员要从用户那里解决的最重要的问题是()A.让软件做什么B.要给软件提供哪些信息C.要求软件工作效率怎样D.让软件具有何种结构63.DFD中的每个加工至少有()A.一个输入流或一个输出流B.一个输入流和一个输出流C.一个输入流D.一个输出流64.数据字典总,一般不出现的条目是()A数据流 B 数据存储C.加工D.源点与终点65.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的()A.细节B.输入与输出C.软件的作用D.绘制的时间66.需求规格说明书的内容不应包括对()的描述。

软件工程复习资料

软件工程复习资料
8. 关于白盒法覆盖程度的论述中正确的是()
A、语句覆盖:选择测试用例使程序中每条语句至少被执行一次 B、判定覆盖:选择测试用例使程序中每个判定至少都获得一次“真”值和一次“假”值 C、条件覆盖:选择测试用例使每个条件都满足 D、条件组合覆盖:将所有的判定条件都组合起来执行 答案: A B
9. 以下()不属于结构化流程图
A、运行程序并分析运行结果 B、桌前检查与代码会审 C、数据流分析图 D、调用图
答案: B C D
15. 下面()属于可复用的软件级别。
A、代码的复用 B、设计结果的复用 C、分析结果的复用 D、测试信息的复用
答案: A B C D
16. 黑盒测试着重测试软件功能,下列测试法中属于黑盒测试技术的有()。
3. 面向对象方法学的出发点和基本原则是什么?
答案: 面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世 界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一 致。
3. 软件原型
答案: 软件原型是在软件系统开发过程中,可快速建立的,旨在演示目标系统主要功能的可运行的程序。
4. 继承
答案: 广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动 地共享基类中定义的数据和方法的机制。
5. 有穷状态机
答案: 在软件工程领域,有穷状态机可以准确地描述一个系统,它是表达规格说明的一种形式化说明方法。一个有穷状态机包含5 个部分:状态集、输入集、由当前状态和当前输入确定下一个状态的转换函数、初始态和终态集。
A、等价划分法 B、平行运行法 C、边界值分析法 D、错误推测法

软件工程复习资料

软件工程复习资料

一、单选题1. 为了提高测试的效率,应该( D )A、随机地选取测试数据B、取一切可能的输入数据作为测试数据C、在完成编码后制定软件的测试计划D、选择发现错误可能性大的数据作为测试数据2. 与设计测试数据无关的文档是( D ) A、需求说明书B、设计说明书C、源程序D、项目开发设计3. 结构设计是一种应用最广泛的系统设计方法,是以( B )为基础、自顶向下、逐步求精和模块化的过程A、数据流B、数据流图C、数据库D、数据结构4. 概要设计的结果是提供一份( A ) A、模块说明书B、框图C、程序D、数据结构5. 需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出( B )A、模块说明书B、软件规格说明书C、项目开发计划D、合同文档6. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的( D )A、1/6 B、1/5 C、1/4 D、1/37. PAD(Problem Analysis Diagram)图是一种( B )工具。

A、系统描述B、详细设计C、测试D、编程辅助8. 排错一般是在测试发现错误后进行,其中找到错误位置占排错总工作量的( A )。

A、95%B、5%C、50%D、20%9.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( A ) 。

A、总貌B、细节C、抽象D、软件的作者10. 分析员是( B )。

A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导11.在软件开发中,有利于发挥集体智慧的一种做法是( A )。

A、设计评审B、模块化C、主程序员制D、进度控制12.在开发软件时,( A )可用来提高程序员的工作效率。

A、程序开发环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机二、多选题1. 数据流图的3种成分为①、②和③,②是数据流中①的变换,③用来存储信息,④对①、②、③进行详细说明,用⑤对③进行详细描述。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程的定义:软件工程是一门研究如何用系统化、规范化、数量化等工程化思想和方法去进行软件开发、维护和管理的学科。

软件危机的定义:软件开发和维护过程中所遇到的如软件规模越来越大,复杂度不断增加,软件的需求量日益增大等的严重问题我们称之为软件危机。

软件工程有哪些基本的思想:a.推迟实现的观点b.逐步求精的观点c.分解与抽象的观点d.信息隐蔽的观点e.质量保证的观点CMM(Capability Maturity Model)能力成熟度模型,是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。

极限编程(Extreme Programming , XP)是一种软件工程方法学是敏捷软件开发中最富有成效的几种方法学之一。

它的的核心有四个要点:交流、简单、反馈、勇气软件生命周期模型:通常把软件生命周期中各项开发活动的流程用一个合理的框架——开发模型来规范描述,这就是软件过程模型,或者称为软件生命周期模型。

软件需求分类:功能需求、非功能需求和领域需求结构化分析(Structured Analysis, SA) 结构图(Structure Chart ,SC)面向对象的一些概念:类是具有相同或相似性质的对象的抽象。

实例是类的具体化。

继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。

消息是指对象间相互联系和相互作用的方式数据流类型:变换型数据流、事务型数据流、混合型数据流Jackson图:Jackson图是Jackson方法分析和设计最有效的表达手段,用它既可以描述问题的数据结构,也可以描述软件的程序结构。

Jackson图的优点是便于表示层次结构,利于结构自顶向下分解,形象直观,可读性好。

Jackson方法用某种形式的伪码给出程序的过程性描述。

伪码一般采用结构化形式的英语描述,例如,用”select”语句描述选择结构,用”until”或”while”语句描述重复结构。

结构化程序设计的三种基本逻辑结构是:顺序结构、选择结构和循环结构。

类与类之间的关系:关联、泛化、聚集软件设计的三类活动:软件设计的第一类活动是软件结构设计,也称为总体设计、概要设计或高层设计。

第二类活动是软件详细设计,也称为(模块)过程设计或底层设计。

第三类活动是设计测试。

软件模块化设计的指导思想:分解、抽象、逐步求精、信息隐蔽和模块独立性。

软件模块化设计的定义:把一个大型软件系统的全部功能,按照一定的原则合理地划分为若干个模块,每个模块完成一个特定子功能,所有的这些模块以某种结构形式组成一个整体。

模块独立性的定义及控制标准:模块独立性是模块化、抽象、信息隐蔽概念的直接结果,也是判断模块化结构是否合理的标准。

模块独立性可以由两个定性标准度量,即模块自身的内聚和模块之间的耦合。

内聚性、耦合性和抽象的定义:内聚性是从功能的角度对模块内部聚合能力的量度,耦合性是对一个软件结构内不同模块之间互连程度的度量。

抽象是一种从一般的观点看待事物的方法,它要求我们集中于事物的本质特征(内部状态和运动规律),而非具体细节或具体实现。

信息隐蔽定义:每个模块对其他所有模块都隐蔽自己的设计决策,也就是说,模块应该详细说明且精心设计以求在某个模块中包含的信息不被不需要这些信息的其他模块访问。

按耦合度从低到高依次有7种耦合方式:a.非直接耦合(独立运行)b.数据耦合(用参数表传递简单数据)c.标记耦合(传递数据结构或者一部分)d.控制耦合(传递的信息包括控制模块的信息)e.外部耦合(模块与软件之外的环境有关)f.公共耦合(多个模块引用同一全局的数据区)g.内容耦合(访问内部数据,代码重叠或者多个入口)按内聚度从低到高依次有7种内聚种类:a.偶然内聚(模块完成的多个任务,任务之间的关系松散)b.逻辑内聚(模块完成逻辑相关的一组任务)c.瞬时内聚(模块的所有任务必须在同一时间间隔内执行)d.过程内聚(模块的处理元素相关而且按照特定的次序执行)e.通信内聚(模块的所有元素集中在一个数据结构区域上)顺序内聚(模块的处理元素相关,必须顺序执行)f.功能内聚(模块完成单一的功能,各个部分协调工作,而且不可缺少)结构化设计方法(SD)是基于模块化、自顶向下细化、结构化程序设计等程序设计技术基础上发展起来的。

软件维护类型及对应方向的维护:纠错性维护:对在测试阶段未能发现的,在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及验证、修改的回归测试过程。

纠错性维护占整个维护工作的21%完善性维护:为了满足这些日益增长的新要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性等。

完善性维护所占的比重最大,大约占总维护量的50%以上适应性维护:为了适应计算机的飞速发展,使软件适应外部新的硬件和软件环境或者数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)发生的变化,而进行修改软件的过程。

适应性维护占整个维护工作的25%预防性维护:为了提高软件的可维护性和可靠性等,主动为以后进一步维护软件打下良好基础的维护活动。

大约占总维护量的5%编码语言的目的与分类:编码的目的是实现人和计算机的通信,指挥计算机按人的操作意图正确工作。

程序设计语言是人和计算机之间进行通信的最基本的工具,其特性会影响人的思维和解决问题的方式。

分为两大类:低级语言:这两种语言都依赖于相应的计算机硬件。

机器语言属于第一代语言汇编语言属于第二代语言高级语言:第三代程序设计语言利用类英语的语句和命令,尽量不再指导计算机如何去完成一项操作,如BASIC、COBOL和FORTRAN等。

第四代程序设计语言比第三代程序设计语言更像英语但过程更弱,与自然语言非常接近,它兼有过程性和非过程性的两重特性,如数据库查询语言、程序生成器等。

人机界面设计的任务,就是根据对用户在使用交互式系统时的所作所为,或者是用户想象中的所作所为,或者是他人想象中用户的所作所为的抽象,创建或导出一致的表示界面。

面向对象实现主要包括两项工作:(1)把面向对象设计结果翻译成用某种程序语言书写的面向对象程序;(2)测试并调试面向对象的程序。

请描述图书馆系统的借书的一个常规场景。

用例名称:借书范围:图书管理图书流通应用级别:用户需求主要参与者:借阅者涉众及其关注点:(1)浏览者:希望能够不需要登录系统即可快速地浏览图书和查询信息。

(2)借阅者:希望在登录系统后可以借书,能查查询自己信息和借书情况(3)普通管理员:希望能够协助借书者完成借书功能,形成借书报表给借阅者查看确认。

前置条件:借书者要登录系统或者验证借书证成功保证:创建借书记录,更新借书信息,形成借书报表。

主成功场景:(1)普通管理员扫描借书证。

(2)检查是否可以借书(3)若可借,则扫描图书(4)显示已借书数,显示借书成功…重复(2)-(4)(5)借书结束请描述银行客户从ATM机上取一笔钱的场景。

答:客户插入银行卡后输入密码。

客户选择“取款”项,屏幕跳出选择取款金额菜单以及一次性可取出的最大金额,客户根据自身需要选择预设金额或者自己输入想要取出的金额。

机器根据客户输入的金额进行出钞,如果余额不足,则屏幕提示客户无法提取相应金额。

客户选择提取较小金额或者选择退出系统,取卡。

否则在正常情况下按客户所需输出相应钞票。

屏幕提示在30秒内取走钞票。

完成交易,客户退出系统,取卡。

可行性分析要如何入手?从技术可行性、经济可行性、操作可行性和时间可行性四个方面研究每种方案的可行性。

软件工程两大范型分别是什么?他们有什么不同?答:分别是传统的结构化范型和面向对象范型。

结构化范型要么面向行为要么面向数据,但没有既面向数据又面向行为的;而面向对象范型把数据和行为看成同等重要,即将对象视作一个融合了数据及在其上操作的行为的统一的软件组件。

面向对象相对于结构化技术,无论对象的内部细节如何变化,只要对象提供的方法即接口保持不变,则整个软件产品的其他部分就不会受到影响,不需要了解对象内部的变化。

结构化分析要创建哪些模型?答:结构化的需求分析模型有数据流模型、状态转换模型、实体—关系模型等。

数据流模型集中在数据的流动和数据转换功能,而不关心数据结构的细节。

实体—关系模型关心的是寻找系统中的数据及其之间的关系,却不关心系统中包含的功能。

系统的行为模型包括两类模型:一类是数据流模型,用来描述系统中的数据处理过程;另一类是状态转换模型,用来描述系统如何对事件做出响应。

软件生命周期的定义是什么?它分为几个阶段?分别是什么?答:软件从生到死的过程称之为软件生命周期。

它分为六个阶段,分别是:a.问题的定义及规划 b.需求分析 c.软件设计d.程序编码e.软件测试f.运行什么是瀑布模型?什么是增量模型?它们有什么区别?答:瀑布模型是从上一项活动接受该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容,给出该项活动的工作成果,并作为输出传给下一项活动。

增量模型是在项目的开发过程中以一系列的增量方式开发系统。

他们的主要区别是瀑布模型的开发过程是通过一系列阶段顺序展开的,而在增量模型中,软件被作为一系列的增量组件来设计、实现、集成和测试,每一个组件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。

维护用户需求和系统需求各有什么特点?答:用户需求是从用户角度来描述系统功能和非功能需求,以便让不具备专业技术方面知识的用户能看懂。

用户需求是描述系统的外部行为,用自然语言、图表和直观的图形来叙述。

系统需求是比用户需求更详细的需求描述,是系统实现的基本依据,因此,是一个完全的、一致的系统描述,是软件工程人员系统设计的起点。

系统需求描述可能包括许多不同的模型,如对象模型和数据流模型。

需求分析过程主要有哪几个步骤?答:需求分析过程主要有沟通、导出需求、分析与精化、可行性研究、协商与沟通、规格说明、需求验证、变更管理等步骤。

数据字典的概念?数据字典包含哪些内容?答:数据字典是分析模型中出现的所有名字的一个集合,还包括有关命名实体的描述。

如果名字是一个复合对象,它还应有对其组成部分的描述。

一般说来,数据字典应该由四类元素的定义组成:数据流、数据流分量、数据存储和处理。

结构化分析主要手段有哪些?答:数据流图、数据字典、状态转换图、实体—关系图等面向对象模型有哪些?答:面向对象提供了三个基本模型:对象模型、动态模型和功能模型。

面向对象模型有哪几个模型,各自的任务和各自的定义?答:面向对象建模技术所建立的三种模型,即对象模型、动态模型和功能模型。

对象模型是对模拟客观世界实体的对象以及对象彼此间关系的映射,描述了系统的静态结构。

动态模型表示瞬间的、行为化的系统“控制”性质,它规定了对象模型中对象的合法变化序列。

功能模型表示变化的系统的“功能”性质。

相关文档
最新文档