软件需求分析与设计复习
第一章
软件可以复制无数份,而每个系统都是独一无二的。
IEEE1998把软件需求分成:
1、功能需求(业务需求,用户需求,系统需求)
2、性能需求(响应速度,精度,容量,负载,系统吞吐量,运行时资源消耗)
3、质量属性(灵活性,高效性,可靠性,可维护性,健壮性,可用性)
4、对外接口(软件接口,硬件接口,数据库接口)
5、约束 (编程语言,硬件设备,软件环境,条件、假定)
常用的需求调研方式包括:
观察法
体验法
问卷调查法
访谈法
单据分析法
报表分析法
需求调研会法
一、选择题
1、需求分析最终结果是产生( B )。
A. 可行性分析报告 B. 需求规格说明书
C. 项目开发计划 D. 设计说明书
2、需求规格说明书的内容不应包括( B )
A. 主要功能 B. 算法的详细过程
C. 用户界面和运行环境 D. 软件性能
3、需求规格说明书的作用不包括( D )
A. 软件设计依据 B. 开发人员与用户对软件要做什么的共同理解
C. 软件验收依据 D. 软件可行性研究的依据
4、下面不属于需求分析师工作职责的是( D )。
A. 制定软件技术标准 B. 设计软件功能
C. 设计数据模型 D. 设计软件界面原型
5、ISO9126软件质量模型的6大特性不包括( D )。
A. 功能性 B. 维护性 C. 可靠性 D. 价格性
二、判断题
1、软件可以复制无数份,而每个系统都是独一无二的。T
2、需求变更伴随着软件的整个生命周期。T
3、需求变更发生得越晚,解决起来代价就越小。F
4、软件需求描述的是“如何做”而不是“做什么”。F
5、指导软件开发不属于需求分析师的职责范围。T
6、需求分析师不需求掌握软件架构知识。F
三、填空题
1、需求包括11个方面的内容,其中网络和操作系统的要求属于( 环境需求 ),如何隔离用户之间的数据属于( 安全保密需求 ),执行速度、响应时间及吞吐量属于( 性能需求 ),规定系统平均出错时间属于( 质量保证 )。
2、软件仅指开发出来的代码,软件在企业中正式使用起来后,才构成系统,也就是说系统不仅包括软件,还包括( 数据 )、包括围绕软件、数据的相关流程、规范。
3、软件功能分为( 功能 )需求和( 非功能 )需求两大类。
4、软件需求的层次包括:业务需求、( 用户需求 )和功能需求。
5、ISO9126软件质量模型规定软件质量包括( 6 )个大特性,其中包括( 27 )个子特性。
6、IEEE1998把软件需求分成:功能需求、( 性能需求 )、( 质量需求 )、对外接口 、约束五个方面。
第二章
观察法
体验法
问卷调查法
访谈法
单据分析法
报表分析法
需求调研会法
一、选择题
1、以下需求获取方法中,最适合捕获部门之间协同需求的方法是( D )。
A. 报表分析法 B. 访谈法 C. 问卷调查法 D. 需求调研会法
2、以下需求获取方法中,适合全面获取企业员工对某些问题的看法的方法是( B )。
A. 体验法 B. 访谈法 C. 问卷调查法 D. 需求调研会法
3、以下需求调研方法中,最常见的、用得最多的方法是( C )
A. 体验法 B. 访谈法 C. 问卷调查法 D. 需求调研会法
4、以下需求获取方法中,最适合获取单位业务数据来源及处理需求的方法是( D )。
A. 体验法 B. 观察法 C. 问卷调查法 D. 单据分析法
二、判断题
1、观察法又称站场,就是去现场看看用户平时怎么工作,不必记录什么。F
2、单据分析法要理清单据上每个数据项的源头,分析其前因后果。T
3、单据中边角上的数据基本没什么用,不必关注。F
三、填空题
1、需求获取方法有:观察法、体验法、(问卷调查法)、访谈法、单据分析法、报表分析法、( 需求调研会法)。
2、( 体验法 )法,就是需求调研者自己亲自到相关部门去顶岗,做一段时间的业务工作,亲身体验某个岗位的工作。
3、对企业现有( 单据 )进行分析,既可以理解清楚当前的业务流程,又可以从中获得某些对信息化系统设计有指导意义的思想。
4、(报表分析)是根据一定的规则对批量数据进行检索、统计、汇总,是一个信息加工、分析的结果,它反映了单位运营状况信息。
第三章
一般用泳道图来表示业务流程。
一、选择题
1、下面不属于系统规划阶段工作内容的是( D )。
A. 确定以后用户如何通过这个软件工作场景;
B. 获取用户的需求;
C. 明确这个项目的范围(黑白名单);
D. 对现在的业务流程需要做什么变更重组;
2、以下不属于需求调研报告内容的是( A )
A. 网络基础环境 B. 组织结构 C. 相关系统 D. 用户名单
3、适合表达业务流程的图型结构是( A )。
A. 鱼骨图 B. 亲和图 C. 泳道图 D. 思维导图
二、判断题
1、软件给客户带来的价值决定软件的销售。T
2、用户是指购买你软件产品的人。F
3、信息系统项目目标主要指项目实施后能给企业带来什么价值、解决什么问题。T
4、一般来说,用户的使用培训不属于信息系统开发项目范围。F
5、规划工作方式是指规划单位各个岗位的工作人员使用软件后,应该如何进行工作。T
6、认清软件投入使用后的利益受损者,是系统规划的一项重要工作。T
7、建立统一的共享数据库是解决单位信息孤岛的有效办法。T
三、填空题
1、需求确定包含三个步骤:认清需求、控制需求和( 挖掘需求 )。
2、系统是若干部分相互联系、相互作用,形成的具有某些( 特定功能的统一 )的整体。
3、控制需求的主要工作包括以下三个方面:识别超出项目范围的需求、识别(错误)的需求、识别技术上不能实现的需求。
4、项目范围一般是通过列出哪些工作是项目该做的,也称( 白 )名单;列出哪些工作不是项目该做的,又称( 黑 )名单来表述。
5、规划工作方式是指规划单位各个岗位的工作人员使用软件后,应该如何进行工作。对每个岗位都应该明确以下三件事:使用软件的地点、(使用软件系统的时间 )、使用软件的触发事件。
第四章
资料
超键
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键
候选键(candidate key):不含有多余属性的超键称为候选键。也就是关系中的一个属性组,其值能唯一标识一个元组。若从属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选键。
主属性:任何一个候选键中的属性称作主属性。(请记住这个概念)
主键
主键(primary key):用户从一个关系的多个候选键中,选定一个作为主键。
函数依赖
一个或者一组属性的值可以决定其他属性的值。候选键都可以做到
部分依赖
现有一关于学生的关系模式Student(学生编号 , 学生姓名, 班级编号, 院系, 课程编号 , 成绩)
(学生编号#、课程编号#)作为主键,可以唯一标识每条元组,但是对于学生姓名
、学生所属的班级编号
、院系
,这三个属性可以直接通过学生编号
来确定,在这里课程编号#
显得很多余。于是称,学生姓名、班级编号、院系
对(学生编号#、课程编号#)部分函数依赖。
即,非主属性
对键
有部分函数依赖
。
传递依赖
现有一关于学生的关系模式Student(学生编号 , 学生姓名, 班级编号, 院系, 课程编号 , 成绩)
学生编号
可以唯一确定他所在的院系
,但是注意到这中间存在传递过程
,即学生编号
唯一确定该学生所对应的班级编号
,班级编号
对应唯一的院系
。我们称,院系
对学生编号
传递函数依赖。
即,非主属性
对键
有部分函数依赖
。
1NF
定义:关系中每一分量不可再分。即不能以集合、序列等作为属性。(也就是不能表中套表,要保证数据的原子性。)
2NF
定义:在1NF基础上,消除非主属性对键的部分依赖,则称它符合2NF。
理解为所有的表都需要有个关键字。
对于学生姓名
、学生所属的班级编号
、院系
,这三个属性可以直接通过学生编号
来确定,在这里课程编号#
显得很多余。也就是,学生姓名、班级编号、院系
对(学生编号#、课程编号#)部分函数依赖。把Student表进行拆分,可以消除部分依赖。
3NF
定义:在2NF基础上,消除非主属性对键的传递依赖,则称它符合3NF。
理解为所有的非主属性不会依赖其他非主属性
对于Student表,学生编号
可以唯一确定他所在的院系
,但是注意到这中间存在传递过程
,即学生编号
唯一确定该学生所对应的班级编号
,班级编号
对应唯一的院系
。我们称,院系
对学生编号
传递函数依赖。
BCNF
针对那种主属性有多个字段的表,所有非主属性依赖于主属性,但不能只依赖于主属性的一部分字段。
一、选择题
1、某网络商城有若干店铺,每个店铺有一个法人代表,系统要记录法人代表的个人信息,商城要为每个店铺开始一个资金账户。系统有三个实体集:店铺、店铺法人代表、店铺资金账户。根据实际情况,下面对实体集之间联系及数量关系的正确说法是(B)。
A.店铺与店铺法人代表之间的联系是1:1 ;
B.店铺法人代表与店铺之间联系是1:n ;
C.店铺与店铺资金账户之间联系是 1:n ;
D.店铺与店铺资金账户之间联系是 m:n
2、高校学生管理系统中有“班级”与“辅导员”两个实体集,一个教师可以担任多个班级的辅导员,系统还要记录每个班级的辅导员历史信息,那么它们之间联系的数量关系是( C )。
A.1:1 B.1:n C. m:n D.不能确定
3、ER模型中两个实体集W和S之间的联系是一对多的,S是多方,联系的属性为T,那么将其转换为关系模型后,得到的关系个数、联系的属性存放的位置是( C )。
A. 2个,联系的属性放在W转换的关系模式中。
B. 2个,联系的属性可以放在W和S转换的关系模式中的任何一个中。
C. 2个,联系的属性放在S转换的关系模式中。
D. 3个,联系的属性放在W转换的关系模式中。
4、ER模型中两个实体集W和S之间的联系是多对多的,联系的属性为T,那么将其转换为关系模型后,得到的关系个数、联系的属性存放的位置是( D )。
A. 2个,联系的属性放在W转换的关系模式中。
B. 2个,联系的属性可以放在W和S转换的关系模式中的任何一个中。
C. 3个,联系的属性放在S转换的关系模式中。
D. 3个,联系的属性放在联系转换的关系模式中。
5、ER模型中两个实体集W和S之间的联系是1对1的,联系的属性为T,那么将其转换为关系模型后,得到的关系个数、联系的属性存放的位置是( B )。
A. 2个,联系的属性放在W转换的关系模式中。
B. 2个,联系的属性可以放在W和S转换的关系模式中的任何一个中。
C. 3个,联系的属性放在S转换的关系模式中。
D. 3个,联系的属性放在联系转换的关系模式中。
6、下面关于“候选键”概念的叙述中,不正确的叙述是( C )。
A.一个关系可以有多个候选键。
B.关系中任何一个属性都函数依赖于候选键。
C.候选键再添加一个属性还是候选键。
D.从候选键中去掉一个属性后就不再是候选键了。
7、下面对2NF的叙述中,不正确的说法是( E )。
A.2NF模式中不存非主属性对侯选键的部分依赖。
B.不是2NF模式,一定不是3NF.
C.任何一个二元模式一定是2NF。
D.2NF模式中每个属性不可再分割。
E.2NF模式中不存在传递依赖。
8、下面对3NF的叙述中,不正确的说法是( E )。
A.3NF模式中不存属性对侯选键的传递依赖。
B.3NF模式中不存非主属性对 侯选键的部分依赖。
C.如果模式R是3NF,那么R一定是2NF。
D.3NF模式中不存非主属性对侯选键的传递依赖。。
E.任何一个二元模式一定是3NF。
二、判断题
1、数据建模过程就是对企业数据进行规范化的过程。T
2、ER模型中实体集之间只能有一个联系。F
3、数据建模不是孤立的,系统的功能逻辑方案会影响数据建模。T
4、历史数据表是将累积下来的、很少用到的、占用很多存储空间的、影响数据检索效率的历史数据挪到其中。例如,教务管理数据库中的“毕业学生”表、“毕业生成绩单”表。T
三、填空题
1、实体完整性是指:在一个关系中,元组在主键属性上不能取( 重复 )值,也不能取( 空 )值。
2、关系模型的三类完整性约束是( 参照完整型约束 )、( 实体完整型约束 )和( 用户自定义的约束 )。
3、一个数据表中字段大致有三类:描述该实体属性的字段、与其他表建立联系的字段、对该表记录进行管理的字段,职工(职工号,姓名,性别,生日,所属部门,是否在岗)表中属于“对该表记录进行管理”的字段是( 职工号 )。
4、一个数据表中字段大致有三类:描述该实体属性的字段、与其他表建立联系的字段、对表中记录进行管理的字段,职工(职工号,姓名,性别,生日,所属部门,是否在岗)表中属于“与其他表建立联系的字段”的字段是( 职工号, 所属部门 )。
5、建立( 结转 )表,将某时间范围的历史数据计算结果保持到其中。例如,教务管理数据库的“学生成绩单”表;超市管理数据库的“月销售统计”表 。
第五章
一、选择题
1、ATM机的主目标是( A )。
A. 取款 B. 修改密码 C. 查询余额 D. 注册用户
2、下面对功能模块、功能点、子功能、原子功能的错误描述是( D )。
A. 功能模块由一些业务上有关联的功能点构成;
B. 子功能由若干功能点构成;
C. 功能点为用户完成某一特定任务;
D. 子功能为最小的功能,不再往小划分;
3、下面对用例与软件系统功能之间的关系的错误说法是( A )。
A. 用例与系统功能一一对应。
B. 一个功能点可以支持多个用例。
C. 一个用例可能需要多个功能点才能实现。
D. 用例主要体现用户想要做什么,软件功能主要强调软件能提供什么。
4、下面关于软件权限控制逻辑的错误说法是( D )
A. 权限控制就是控制用户使用指定功能或数据的权限。
B. 角色是拥有固定软件功能权限的用户集合。
C. 用户被加入到角色中,就自动获得该角色拥有的权限。
D. 角色一般和用户岗位相对应,一个用户只能属于一种角色。
二、判断题
1、被许多用例调用的用例是底层用例。T
2、用例的主目标就是用户通过用例所要完成的某项具体任务。T
3、一个用例包括多个应用场景,主场景是完成主目标的过程。T
4、原子功能的特点是:一旦触发,控制权便交给了系统,结束前用户不再干预。T
5、工作流引擎是一种功能组件,通过这种组件用户可以自主定义:表单处理和流程处理。T
6、结转逻辑,是指针对某些数据进行统计汇总或相关运算后,将计算的结果保存到数据库中用以存档或者提高系统性能。T
7、功能模块设计时应尽量减少功能模块之间的关联性,通常称为高内聚低耦合。T
三、填空题
1、软件的功能从本质上说就是对数据的( 输入 )、( 加工 )、( 输出 )过程。
2、用例是系统的( 参与者 )与软件系统所进行的一次交互,交互必须向其返回一个有( 价值 )结果。
3、一个用例由以下要素构成:( 用户 )、前置条件、后置条件、主场景、扩展场景、( 规则 )。
4、用户通过用例所要完成的某项具体任务就是该用例的( 主目标 )。
5、功能一般由以下三部分构成:基础业务逻辑、( 数据流 )、工作流。
6、基础业务逻辑一般分为数据库操作和非数据库操作两大方面,数据库操作主要包括:增、删、查、改操作,非数据库操纵包括:( 计算 )、( 显示 )、( 传递 )。
7、数据流图(DFD)的四个要素是:外部实体、( 数据处理 )、( 数据存储 )、数据流动方向。
8、权限控制就是控制用户使用指定功能或数据的权限,一般可以分成两种:功能权限控制逻辑、( 数据权限控制 )逻辑。
9、(可变逻辑 )指某种功能的逻辑并不确定,怎么处理、运算交由用户决定。常用的方式是通过某种( 参数 )、( 配置 )开关来实现。
10、在软件设计时,把某些数据、功能放在( 客户端 )可以减轻服务器端压力,可以减少网络流量,进而提速。
第六章
一、选择题
2、为了提高软件的易学性,界面设计应追随主流软件的界面风格和操作习惯。Windows Office办公软件Word2010的工作参数设置功能“选项”,一般被放置在以下哪个选项卡下。( B)
A. B. 文件 C. 开始 D.
3、以下不属于软件功能入口方法的是( C )。
A. 功能菜单 B. 快捷键 C. Tab键 D. 命令按钮
4、以下哪项设计不属于“不让用户错误、让用户少犯错误、今早发现用户错误”设计。( B )
A. 用户进行删除操作时,打开一个信息框,让用户进一步确认是否删除。
B. 用户录入数据时,数据格式不对,系统发出嘟嘟提示音。
C. 有些数据不让用户录入,让用户从列表中选择。
D. 用户进行删除操作时,发送一个消息,告知用户删除该数据的危害。
5、以下哪项设计不属于“不要让用户有石沉大海的感觉”设计。( D )
A. 用户点击“保存”按钮,数据成功后向用户发送“成功”消息。
B. 用户点击“保存”按钮,如果数据出现错误,向用户发送消息。
C. 用户点击“修改”按钮,界面上立刻反映用户的修改结果。
D. 用户点击“删除”按钮删除一条记录后,界面立刻显示出更新后的结果。
二、判断题
1、软件核心功能一定是指做某项工作中,绝大部分用户(80%)都要用到的功能。哪些特殊情况才使用的功能属于非核心功能,我们一般把他们藏到一个按钮中。例如,某些WINDOWS界面的“高级”按钮。√
2、统一操作习惯是指软件的各个操作界面要保持一致性,不能
3、界面设计贴近业务流程是指软件界面的操作流程要和用户业务工作顺序保持一致。√
4、界面设计“减少用户干预”往往需要付出相当大的代价。√
5、界面设计“减少用户干预”指用户点击界面上的按钮,开始执行后,尽量不要向用户返回提示信息。×
三、填空题
1、快速原型开发模型的一般步骤是:需求调研、原型设计、( 原型评审 )、根据用户反馈意见修改原型、重新评审、( 用户确认 )、根据原型开发软件。
2、软件界面优化一般从以下四个方面来进行:易学性、( 易用性 )、健壮性、交互性。
3、软件的健壮性是指系统发生某些( 异常 )情况时,软件处理方式的完善程度。
4、软件的交互性是指系统在执行过程中能否与( 用户 )进行友好沟通,让( 用户 )获得应该知道的信息。
5、软件向用户返回消息的两种常用方法是:( 弹出框 )和消息区。
四、简单题
1、 简述软件功能入口方式有哪些,各有什么优缺点。
-
功能菜单:能让用户通过自己需要的功能选择分类。缺点分类不准确的时候容易使用户找不到要使用的功能
-
工作台:对于一个流程的时候,简单易懂的工作台入口可以使用户一目了然,但想使用其他功能的时候难找到。
-
九宫格:能让用户快速的找到自己想要使用的功能,简洁大方。
-
弹出菜单:能让用户不切出当前任务的情况下找到想要使用的功能。
-
快捷方式:自己定义的常用功能,能根据用户自己的情况定义要使用的功能。
2、简述有哪些表单布局方式,各有什么优缺点。
第一种是左边的标签右对齐,右边的输入框左对齐,使中间有一个竖线,如果左边的标签长短差别很大,就会造成参差不齐很难看的页面。
第二种是左边的标签左对齐,右边的输入框左对齐,但是很方便从上到下浏览所有的输入标签,当然,如果左边的标签长短差别大,也会造成距离过远,难看的页面。
第三种是上下布局,标签在上,输入框在下。但是不适合输入框过多的情况。
3、分析一下“微信”朋友圈操作界面的优缺点,谈谈有哪些方面需要优化。
易学性:发朋友圈的是个相机图标,点击就可以照相或者从相册选择照片
易用性:点击发朋友圈后就可以直接照相,不用其他繁琐的步骤,下方能直接选择当前地点和提到的人
健壮性:微信的发朋友圈功能没有崩过,都是能很好地完成所需要的任务
交互性:每次点击都能直接看到按钮被点击,或者给出提示,没有发布退出还会提示是否保存。
五、设计题
高校学生管理系统→班级管理,要求班委会每个学期提交一个“学期工作计划”,计划由每个班级的班长录入并提交到系统保存。计划内容分以下四个栏目:
1、专业学习
2、思政活动
3、社会公益
4、科技创新
相关的数据模型如下:
学院(学院代码,学院名称,学院简介)
学生(学号,姓名,性别,民族,生日,密码)
班级(班级号,班级名称,班级简介,所属学院)
班委会(班级号,届,任期,任职开始学年,任职开始学期)
班委会成员(班级号,届,学号,职务)
班委会工作计划(班级号,届,学年,学期,专业学习,思政活动,社会公益,科技创新,提交日期)
业务规则及数据模型说明:班级号全校唯一,班号为8位数字字符,前四位是入学年份;一届班委会任期一年,一个班级有4届班委会,学生可以连选连任;高校的学年是跨年度的字符串,例如:2021-2022学年,时间段2021.8–2022.7,前半年为第1学期,后半年为第2学期;
设计一个录入“学期工作计划”并保持在“班委会工作计划”表中的界面,具体要求如下:
1、班长用自己学号登录系统后,系统自动识别其所属学院,班级,班委会,职务。
2、让用户少录入数据,能从数据库中查到的数据,系统应自动获取填入。
3、班长在编辑学期计划时可以查看本班以前的工作计划。
找一个应用的微信公众号,根据界面的优化方式对其作出评价
这里是内蒙古师范大学的企业号
使用的是类似九宫格的入口方式
有些功能例如查信息,会直接打开浏览器进行业务处理
但是对于申请审批功能,就必须先跳到微信的聊天框,再从下边的按钮点击进入功能区
应该是能直接做到和查信息一样的入口方式。
入口菜单还出现了很多不应该有的应用,比如,我现在已经是大三,应该直接对我进行隐藏操作。
第七章
原型说明书是针对设计好的软件原型撰写的一种偏向于说明功能与操作逻辑的文档,主要描述每个功能点的主要用户,用户使用该原型的操作场景,有什么权限控制要求,每个操作背后是怎么运算的(从用户确认执行某操作,到系统反馈执行结果之间,系统会做什么处理,有哪些业务逻辑),对数据有什么要求,等等。
一、选择题
1、下面对原型说明书的错误说法是( B )。
A. 原型说明书的阅读对象是软件开发者不是普通用户。
B. 原型说明书要给出软件所有功能点清单。
C. 原型说明书要给出功能模块之间的结构关系。
D. 原型说明书要指明每项软件功能的用户及其权限。
2、软件需求分析师想要说明客户的“手机号”是11位数字字符,“身份证号”是18位字符,前17位为数字字符。这些说明应该放在原型说明书模板的哪个条目下。( B )
A. 1 概要→1.4 专业术语 B. 2 总体要求与规则→2.3 共用规则
C. 3 功能模块→F 规则 D. 3 功能模块→H 数据字典
二、判断题
1、原型说明书其实就是需求说明书。X
2、原型说明书给软件开发者看的,不是给普通用户看的。Y
3、原型规范主要介绍界面设计中使用到的一些特殊规范,例如一些符号、字体、色彩所表达的含义。Y
4、不同团队所采用的原型规范可能不同。Y
三、填空题
1、原型说明书是针对设计好的软件原型,撰写的一种偏向于( 说明功能 )与( 操作逻辑 )的文档。
2、原型说明书模板一般分为三大部分内容:第一部分是对原型进行概要性描述,第二部分是描述全局性的要求、( 规则等),第三部分是对三种功能(功能模块、功能点、主要功能)的描述。