软件需求期末复习(GDUFE)

软件需求期末复习

在这里我回忆一下我那一年软件需求复习的相关要求和方法,你们可以根据我的情况,结合今年老师说的情况进行比对,可以完全按照老师讲的重点进行复习,而且主要也是以老师的为主,或者可以将老师所讲与我的结合起来复习。本文内容只是起到辅助作用,本文PDF版在文末可下载。

试卷内容

印象中

第一道大题是有五道选择题,内容来自课本上的老师划的选择题

第二道大题是填空题,内容来自关键术语的挖空

第三道题是简答题,内容来自类似P105-106的Q问题

第四道题是两道画图题,内容来自老师上课所讲的几个案例,比如P157页的大学注册和观察者模式的结构图

复习内容
  • 老师上课画的重点是重要内容,如画的关键术语,选择题,课后问题,课上所讲的例题,我们上次就考了课本157页的用例模型图,还有特别强调的就是老师布置的几次作业,一定要看,作业那几道题所画的图老师上课应该是讲过的,那极有可能就是出这个,所以赶紧找大佬问问作业那几道是哪几个案例,把那几个案例的介绍内容看熟以及背写那些用例图和流程图等。
  • 其他的就是背诵了,关键术语和简答题是一定要背的,选择题也要看熟。
  • 在后面附件,我也会把我之前的作业答案附在那,请自取。

下面去年我背诵的一些内容,在文尾我也会把我去年的抄写和作业答案附上去,可自行下载…。。。

第一章
  • 关键术语:体系结构、构件、迭代、模型、对象

  • 选择题:MC1-MC5(CCDCD)

  • 简答题

    软件开发的本质困难:一致性,不可见性,可变性

    可支持性(适应性)软件质量包括:可理解性,可维护性,可伸缩性

    CMM的“可重复的”级别(第2级)是指:对类似项目的一致的时间和工作量预测

    持续的服务改进方案(CSIP)属于: ITIL

    UML模型包括:状态模型,状态变化模型,行为模型

    Q13:从结构化开发方法转换到面向对象开发方法的主要原因是什么?

    最重要的因素涉及硬件的进步,特别是GUI(图形用户界面),它已经使得对象解决方案能够被广泛应用。现代GUI要求事件驱动的程序设计,对象技术是最佳选择。

    转换到面向对象开发,也是由能够在现代硬件/软件平台上实现的新应用的需要而驱动的,此应用的两个主要种类是工作组计算和多媒体系统。

    面向对象技术对于处理大型系统日益增加的应用积压也很要。这种大型系统难以维护,更难以使用现代的解决方案对其进行重组。对象打包是一种战胜这种应用积压的有前途的方法。

第二章
  • 关键术语:业务参与者、业务用例、类、流对象、原型

  • 选择题:MC3-MC7(CBDAC)

  • 简答题

    类的关系:关联,一个类对象相关于另一个对象的知识;聚合,一个类的实例“包含有”另一个类的实例;泛化,一个类“可以是”另一个类

  • 画图题:E3,E5

第三章
  • 关键术语:聚合,关联,泛化,接口,生命线,用例

  • 选择题:MC1-MC6(DBDCDA)

  • 简答题:需要着重看一下3.3和3.4节

    Q4:实体类是什么?在类建模中还需要区分哪些其他种类的类?

    实体类(模型类)——即业务对象,表示持久的数据库对象,如订单、运输货物

    除实体类这一持久化类,还需要以下非持久化类:

    表现(边界、视图)类——定义GUI对象,如GUI屏幕表单

    控制类——控制程序逻辑及处理用户事件

    中介者(调解)(mediator)类——管理内存高速缓存中的实体对象的责任赋予了另一种类

    资源类——与外部数据进行交互和通信

    Q7:解释为什么子系统实现接口…(这个课本有答案,被课本答案就可以)

  • 画图题:E3,E5,E6

第四章
  • 关键术语:P114的PCBMER原则,体系结构框架,构件,子系统
  • 选择题:MC1(D),MC3(B),MC5(D,应该是名词短语方法)
  • 画图题:E1,E2,G3,G4,G5,这章需要着重看一下音像商店和大学注册,我们之前的作业也是布置这块
第五章
  • 关键术语:可见性

  • 选择题:MC1-MC6(CACDBD)

  • 简答题

    Q4:封装与可见性是一回事吗?请解释

    不是。

    一条消息触发一个类的操作。该操作通过访问自身对象中的属性值来服务于所调用对象的请求,这些操作必须对外部的对象是可见的,称这种操作具有公共可见性。在设计良好且已实现的面向对象系统中,大多数操作是公共的,而大多数属性是私有的,属性值对其他对象是隐藏的,即封装属性。封装只用于类,一个对象不能同时向一个类的另一个对象隐藏(封装)任何东西。

    操作的可见性是指该操作对其他类的对象是否可见。如果操作是可见的,它的可见性就是公共的;否则就是私有的。对于向外界提供服务的对象来说,服务的操作必须是可见的;而大多数对象也会有一些内部的操作,这些操作的可见性为私有的,它们只能被同一个类中定义的对象访问。

    Q8:什么时候应该用一个具体化类替换一个关联类?给出一个例子。

    关联类的约束是指,对于每一对连接起来的A和B的实例,只能存在一个类C的实例,当关联类之间的约束不符合需求时,应该用一个具体化类替换一个关联类。

    【例如:小学生的详细信息类—语数英成绩信息类 ;雇员数据库:雇员的详细信息类------存储工资级别信息类】

    Q13:比较继承和委托。相似的是什么?不同的是什么?

    继承是泛化关系中的复用技术。委托是聚合关系中的复用技术。在大多数情况下,决定使用继承(泛化)还是委托(聚合)非常简单—“ is a kind of"语义要求泛化;“has a”语义要求聚合。

    但是,本书用一个精心设计的实例(5.3.2节中的图5-23)证明了,泛化可以用聚合来实现。如果要阻止这样强有力的建模实践,继承应该用于“ is a kind of”语义,而委托应该用于“has a”语义。

    总体上说,这两种技术之间的相似性在于两者都是复用技术这一事实。不同点产生于这个事实:继承是类之间的复用技术,而委托是对象之间的复用技术。这使得委托比继承更有效力。

    首先,委托可以模仿继承,但反过来不可以。

    第二,委托是一个运行时概念,支持系统的动态演进,而继承是一个编译时静态概念。

    第三,委托(外部)对象能够复用被委托(内部)对象的行为(操作实现)和状态(属性值),而继承不能继承状态。

  • 画图题:E1,E3,E4,还需着重看一下P176的电话销售重载代码,例5.10,5.11,5.12的图,以及图5-28顺序图,图5-29交互使用图

第六章
  • 关键术语:责任链,构件,外观,中介者,修改者,观察者模式,触发器

  • 选择题:MC1-MC4(DBDA)

  • 简答题

    Q2:什么是三层体系结构?它的优点和缺点是什么?

    典型的三层体系结构:表示层(GUI客户机)、业务服务层(单独的业务逻辑)、数据服务层(数据库服务器);

    优点:

    1、开发人员可以只关注整个结构中的其中某一层;

    2、可以很容易的用新的实现来替换原有层次的实现;

    3、可以降低层与层之间的依赖;

    4、有利于标准化;

    5、利于各层逻辑的复用。

    6、扩展性强。不同层负责不同的层面

    7、安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。

    8、项目结构更清楚,分工更明确,有利于后期的维护和升级

    缺点:

    降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

    2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码

    3、增加了代码量,增加了工作量

​ Q7:中介者模式的优势和不足是什么?

​ 持久的实体对象往往具有复杂的关联和费解的业务逻辑。在这种实体对象集合上的业务处理操作本身难于编程,对于这些困境,中介者 模式提供了简化的解决方案。它的主要优势是它负责处理应用逻辑,这种应用逻辑处理实体对象之间的通信,以实现业务处理。一个相 关的优势是对业务处理和实体对象之间通信策略的任何更改都局限在中介者中。将特定的应用行为集中在中介者中改进了系统的适应性 因为业务处理从业务(实体)对象中独立出来了中介者 模式的一个明显缺点是,当实体对象的数量增加及业务处理变得更复杂时,中 介者本身的复杂性显著增加保证智能在系统的所有类之间均匀分布。克服这种缺点的办法是创建多个中介者,专注于业务处理组和或实 体类组。

​ Q11:什么是“机械类”?

​ 设计良好的类为其他类提供服务,而不仅仅显示它的属性值。设计良好的类还负责控制它的状态空间,并不允许其他类设置它的属性值 设计不好的类是机械的,如果一个类的公共接口主要由存取(访问)方法组成,即由观察者(get)方法和修改者(set)方法组成,则 此类是机械的。在实际中,大多数的类都提供存取(访问)方法,允许其他内聚的类之间存在足够的耦合。

  • 画图题:本章需要着重看外观模式,责任链模式,观察者模式等几个类图及结构图,如图6-7,6-9,6-12,6-13

    如下也可参考一下 img img img

    img

第七章
  • 关键术语:浏览器客户端,容器,服务器页面,表单,框架,Web应用程序

  • 选择题:MC1-MC7(DCCCBAA)

  • 简答题

    Q5:接口在软件开发中最普遍的用法是什么?

    接口(Interface)概念至少有4种含义。

    第一,GUI(图形用户界面):显示信息的计算机屏幕。

    第二,API(应用编程接口):是一套软件程序和开发工具,为应用程序提供函数调用,使

    程序可以访问一些级别较低的模块所提供的服务(如操作系统、设备驱动程序、JVM——即Java虚拟机)。

    第三,公共接口:是一项协议或一套公共可见的操作(方法),其他软件构件可以使用这些

    操作,来访问提供此接口的类中所定义的支持函数。公共接口的范围可以是单个类、一组类(例如.包或子系统)或整个应用程序。

    第四,UML或Java接口:即具有属性(也许只限于常数)和方法的语义类型的定义,但没

    有操作的声明(即没有实现),UMLJava接口是一种定义公共接口的建模/编程方式。在这样的环境下,我们可以区分提供接口和依赖接口。

第八章
  • 关键术语:数据映射,数据模型,关键字,范式化,对象-关系映射,触发器
  • 选择题:MC1-MC5(BDBCDD)
平时作业参考答案

我平时的作业不知道正不正确,但是老师写了GOOD评语,而且最后考到的画图题是按照我在作业写的那样画的,最后的分不低,所以我把我作业也附了上来,在文末的【附件2】,仅供参考。

最后

软件需求就是需要背,而且分值比较大,好好准备几天,顺利过关没问题的,可能还能考个第一(嘻嘻),加油!!!

最后的最后

本文PDF版及附件下载链接:

链接:https://pan.baidu.com/s/1f2JkF7uQKbCaAuh6eQzHEw
提取码:6666
–来自百度网盘超级会员V3的分享

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值