当前位置:龙泉人才网 - 公司招聘 -

系统分析师(备考高级系统分析师)

  • 公司招聘
  • 2023-08-22 06:00
  • 龙泉小编

开启新的章节,系统分析及需求工程,本章内容也是考试的重点跟难点,想想也是,本身系统分析师重点还是在系统分析跟需求方面,本章主要讲的内容是软件需求,需求获取,需求分析,其中需求分析部分又增加了结构化分析跟面向对象的分析。

1.软件需求

软件需求:是指用户对系统在功能、行为、性能、设计约束等方面的期望。是指用户解决问题或达到目标所需的条件或能力,是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力,以及反映这些条件或能力的文档说明。

分为需求开发需求管理两大过程,如下所示:

需求分类

业务需求:反映企业或客户对系统高层次的目标要求,通常来自项目投资人、客户、市场营销部门或产品策划部门。通过业务需求可以确定项目视图和范围。

用户需求:描述的是用户的具体目标或用户要求系统必须能完成的任务。即描述了用户能使用系统来做什么。通常采取用户访谈和问卷调查等方式,对用户使用的场景进行整理,从而建立用户需求。

系统需求:从系统的角度来说明软件的需求,包括功能需求、非功能需求和设计约束等。

1)功能需求:也称为行为需求,规定了开发人员必须在系统中实现的软件功能,用户利用这些功能来完成任务,满足业务需要。

2)非功能需求(性能需求,质量属性):指系统必须具备的属性或品质,又可以细分为软件质量属性(如可维护性、可靠性、效率等)和其他非功能需求。

3)设计约束(外界强制规定的):也称为限制条件或补充规约,通常是对系统的一些约束说明,例如必须采用国有自主知识产权的数据库系统,必须运行在UNIX操作系统之下等。

质量功能部署(从用户角度出发)

质量功能部署(QFD)是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。为了达到这个目标,QFD将软件需求分为三类,分别是常规需求、期望需求和意外需求。

(1)常规需求。用户认为系统应该做到的功能或性能,实现越多用户会越满意。

(2)期望需求。用户想当然认为系统应具备的功能或性能,但并不能正确描述自己想要得到的这些功能或性能需求。如果期望需求没有得到实现,会让用户感到不满意。

(3)意外需求。意外需求也称为兴奋需求,是用户要求范围外的功能或性能(但通常是软件开发人员很乐意赋予系统的技术特性),实现这些求用户会更高兴,但不实现也不影响其购买的决策。

考题来喽

1.软件需求开发是指从情况收集、分析和评价到编写文档、评审等一系列产生需求的活动,分为获取情况、分析、()和评审四个阶段。

A.制订规格说明 B.形成需求基线 C.跟踪需求变更 D.控制需求版本

2.某软件公司正在承担开发一个字处理器的任务。在需求分析阶段,公司的相关人员整理出一些相关的系统需求,其中,“找出文档中的拼写错误并提供一个替换项列表来供选择替换拼错的词”属于();“显示提供替换词的对话框以及实现整个文档范围的替换”属于();“用户能有效地纠正文档中的拼写错误”属于()。

A.业务需求 B.用户需求 C.功能需求 D.性能需求

A.业务需求 B.用户需求 C.功能需求 D.性能需求

A.业务需求 B.用户需求 C.功能需求 D.性能需求

解析:答案A B用户需求 C功能需求 A业务需求

看需求分类如何考,很容易混淆,技巧1首先排除性能需求!技巧2不可能考同一个答案,技巧3,就是三句话拿出来比较,很明显抽象程度是第三个最高,应该就是业务需求,第三句话跟第一句话是个前后关系,第一句话就应该是用户需求!

2.需求获取

需求获取:是一个确定和理解不同的项目干系人的需求和约束的过程。

常见的需求获取法包括:

(1)用户访谈:1对1-3,有代表性的用户。其形式包括结构化和非结构化两种。

(2)问卷调查:用户多,无法一一访谈。

(3)采样:从种群中系统地选出有代表性的样本集的过程。样本数量=0.25*(可信度因子/错误率)的平方

(4)情节串联板:一系列图片,通过这些图片来讲故事。

(5)联合需求计划(JRP):通过联合各个关键用户代表、系统分析师、开发团队代表一起,通过有组织的会议来讨论需求。

(6)需求记录技术:任务卡片、场景说明、用户故事、Volere白卡。

注意:常用获取需求的方法,了解使用范围,优点缺点。

考试比较喜欢考需求分类跟需求获取。

考题来喽:

1.需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学、准备充分,对获取出来的结果影响很大。在多种需求获取方式中,()方法具有良好的灵活性,有较宽广的应用范围,但存在获取需求时信息量大、记录较为困雅、需要足够的领域知识等问题。()方法基于数理统计原理,不仅可以用于收集数据,还可以用于采集访谈用户或者是采集观察用户,并可以减少数据收集偏差。()方法通过高度组织的群体会议来分析企业内的问题,并从中获取系统需求。

A.用户访谈 B.问卷调查 C.联合需求计划 D.采样

A.用户访谈 B.问卷调查 C.联合需求计划 D.采样

A.用户访谈 B.问卷调查 C.联合需求计划 D.采样

解析:A需要足够的领域知识,一般使用户访谈 D数理原理的话是采样 C群体会议,开会JRP

3.需求分析

需求分析:一个好的需求应该具有无二义性、完整性、一致性、可测试性、确定性、可跟踪性、正确性、必要性等特性,因此,需要分析人员把杂乱无章的用户要求和期望转化为用户需求,这就是需求分析的工作。

需求分析的任务

(1)绘制系统上下文范围关系图

(2)创建用户界面原型

(3)分析需求的可行性

(4)确定需求的优先级

(5)为需求建立模型

(6)创建数据字典

(7)使用QFD(质量功能部署)

需求分析分为结构化需求分析面向对象的需求分析两类,考试基本只考这两类。

3.1结构化需求分析

结构化的需求分析

结构化特点:自顶向下,逐步分解,面向数据

三大模型:功能模型(数据流图)、行为模型(状态转换图)、数据模型(E-R图)以及数据字典。

注意:状态转换图不怎么考,ER图在数据库章节中讲过了,可以翻看下。

状态转换图STD如下图所示:

箭头表示转换条件,椭圆表示状态

数据流图

数据流图描述数据在系统中如何被传送或变换,以及如何对数据流进行变换的功能或子功能,用于对功能建模,数据流图相关概念如图:

数据流图是可以分层的,从顶层(即上下文无关数据流)到0层、1层等,顶层数据流图只含有一个加工处理表示整个管理信息系统,描述了系统的输入和输出,以及和外部实体的数据交互。数据流图示例如下:

注意:长方形是外部实体,跟ER图是有区别的,ER图是系统内部的实体!圆角矩形就是加工,真正的功能

顶层

顶层展开后的0层

上图,下边的0层是上边顶层(证券交易平台)展开的!

下边0层还可以展开变成1层,比如存款,专门描述存款的功能!

3.2面向对象的需求分析

这个重点也是考点难点了,面向对象的分析建的什么模型,哪两个模型,涉及到哪些需求分析的工具,先讲面向对象需求分析的各种定义吧,一共讲了11个定义基本已经覆盖考试内容了。

这些定义不熟悉的可以自己再搜一下,搜一下举例的一下就清楚了,做开发的,应该一看就明白了,java开发基本都涉及到这些概念了,全当复习下概念了。

(1)对象:由数据及其操作所构成的封装体,是系统中用来描述客观事务的一个实体,是构成系统的一个基本单位。一个对象通常可以由对象名、属性和方法3个部分组成。

(2)类:现实世界中实体的形式化描述,类将该实体的属性(数据)和操作(函数)封装在一起。对象是类的实例,类是对象的模板

类可以分为三种:实体类、接口类(边界类)和控制类。实体类的对象表示现实世界中真实的实体,如人、物等。接口类(边界类)的对象为用户提供一种与系统合作交互的方式,分为人和系统两大类,其中人的接口可以是显示屏、窗口、Web窗体、对话框、菜单、列表框、其他显示控制、条形码、二维码或者用户与系统交互的其他方法。系统接口涉及到把数据发送到其他系统,或者从其他系统接收数据。控制类的对象用来控制活动流,充当协调者

(3)抽象:通过特定的实例抽取共同特征以后形成概念的过程。它强调主要特征,忽略次要特征。一个对象是现实世界中一个实体的抽象,一个类是一组对象的抽象,抽象是一种单一化的描述,它强调给出与应用相关的特性,抛弃不相关的特性。

(4)封装:是一种信息隐蔽技术,将相关的概念组成一个单元模块,并通过一个名称来引用。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。

(5)继承:表示类之间的层次关系(父类与子类),这种关系使得某类对象可以继承另外一类对象的特征,又可分为单继承和多继承。

(6)多态:不同的对象收到同一个消息时产生完全不同的结果。包括参数多态(不同类型参数多种结构类型)、包含多态(父子类型关系)过载多态(类似于重载,一个名字不同含义)、强制多态(强制类型转换)四种类型。多态由继承机制持,将通用消息放在抽象层,具体不同的功能实现放在低层。

(7)接口:描述对操作规范的说明,其只说明操作应该做什么,并没有定义操作如何做。

(8)消息:体现对象间的交互,通过它向目标对象发送操作请求。

(9)覆盖:子类在原有父类接口的基础上,用适合于自己要求的实现去置换父类中的相应实现。即在子类中重定义一个与父类同名同参的方法。

(10)函数重载:与覆盖要区分开,函数重载与子类父类无关,且函数是同名不同参数

(11)绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定是在编译时进行的,叫作静态绑定。动态绑定则是在运行时进行的,因此,一个给定的过程调用和代码的结合直到调用发生时才进行。

真题来喽:

1.一个类中可以拥有多个名称相同而参数表(参数类型或参数个数或参数类型顺序)不同的方法,称为()。

A.方法标记 B.方法调用 C.方法重载 D.方法覆盖

2.在某销售系统中,客户采用扫描二维码进行支付。若采用面向对象方法开发该销售系统,则客户类属于()类,二维码类属于()类。

A.接口 B.实体 C.控制 D.状态

A.接口 B.实体 C.控制 D.状态

解析:C B A,第二题考的类分为三种,单独拿出来没问题,放到75道选择里希望你也能做对,主要是分辨出考的什么知识点,就能答题了!

2.在结构化分析中,用数据流图描述()。当采用数据流图对一个图书馆管理系统进行分析时,()是一个外部实体。

A.数据对象之间的关系,用于对数据建模

B.数据在系统中如何被传送或变换,以及如何对数据流进行变换的功能或子功能,用于对功能建模

C.系统对外部事件如何响应,如何动作,用于对行为建模

D.数据流图中的各个组成部分

A.读者 B.图书 C.借书证 D.借阅

解析:B纯考概念,A读者是个外部实体。

感谢大伙点赞+关注的支持,是我持续学习更新的动力,关注公众号:Coding-9527,跟大伙一起学习,成长,进步!

免责声明:本文内容来源于网络或用户投稿,龙泉人才网仅提供信息存储空间服务,不承担相关法律责任。若收录文章侵犯到您的权益/违法违规的内容,可请联系我们删除。
https://www.lqrc.cn/a/gongsi/63879.html

  • 关注微信
上一篇:扬州兼职(急)
下一篇:暂无

猜你喜欢

微信公众号