- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大学软件工程课程复习资料doc.doc
《需求分析习题》
1 软件需求分功能需求、非功能需求、领域需求的定义。
1)功能需求:定义了软件必须实现的功能,包括对系统应该提供的服务、如何对输入做出反映以及系统在特定条件下的行为的描述。
2)非功能需求:非功能需求是对功能需求的补充,是对系统提供的服务或功能给出的约束。包括时间约束、开发过程的约束、标准等、长应用于“整个系统”。
3)领域需求:来至系统的应用领域的需求,反映了该领域的特点。他们也可能是功能需求或非功能需求。
2 用户需求和系统需求定义。
1)用户需求:是用自然语言加图表的形式给出的关于系统需要提供哪些服务以及系统操作受到哪些约束的声明。
2)系统需求:是详细地给出系统将要提供的服务以及系统所要受到的约束。
3 用户需求描述什么需求,容易产生什么问题? 如何解决?
1)用户需求是从用户的角度来描述系统功能和非功能需求。
2)容易产生的问题
(1)描述不够清楚
使用自然语言描述,很难做到既精确无二义性,又不至于描述晦涩难懂。
(2)需求混乱
功能需求、非功能需求、系统目标和设计信息无法清晰地区分。
(3)需求混合
多个不同的需求可能被搅在了一起,以一个需求的形式给出。
3)解决方案
(1)设计一个标准的格式,保证所有的需求定义都按照改格式书写。
(2)使用一致的语言。
(3)对文本加亮(使用黑体或斜体)来突出显示关键的需求。
(4)尽量避免使用计算机专业术语。
4 需求描述所使用的符号有哪些?他们确定的含义是什么?
自然语言,结构化语言描述,PDL 描述(设计描述语言),形式化描述,图形化描述(use case)
书上P79页,表6-2所示
5 软件需求分析的目的、任务?
(1)建立系统模型。
(2)深入描述功能确定的系统的接口特性和设计约束。
(3)写出规格说明书。
(4)进行复审和确认。
6 软件需求分析包含哪几个阶段?
包括可行性的研究、需求导出和分析、需求的描述、需求有效性验证及需求管理。
7结构化分析方法中,数据字典的作用是什么?
严格的数据定义可以减少分析人员的和用户之间的通信,消除误解。
为以后进行系统设计及维护提供重要的依据。
8 试述结构化分析过程和面向对象分析过程,并比较
(1)结构化分析过程实质上就是创建数据模型、功能模型和行为模型,其中数据建模的工具是实体关系图,功能建模的工具是数据流图,行为建模的工具是状态转换图,另外使用数据字典定义系统的所有数据项。结构化方法首先关心的是功能,强调以模块(即过程)为中心,采用模块化、自顶向下、逐步求精设计过程,系统是实现模块功能的函数和过程的集合,结构清晰、可读性好,的确是提高软件开发质量的一种有效手段。结构化设计从系统的功能入手,按照工程标准和严格规范将系统分解为若干功能模块。然而,由于用户的需求和软、硬件技术的不断发展变化,作为系统基本成分的功能模块很容易受到影响,局部修改甚至会引起系统的根本性变化。开发过程前期入手快而后期频繁改动的现象比较常见。面向对象方法则从所处理的数据入手,以数据为中心来描述系统,数据相对于功能而言,具有更强的稳定性,这样设计出的系统模型往往能较好地映射问题域模型。 对象、类,、继承性、多态性、动态定连概念和设施的引入使用,显然令面向对象的设计方法具有一定的优势,能为生产可重用的软件构件和解决软件的复杂性问题 提供一条有效的途径。面向对象的设计过程就是指通过建立一些类以及它们之间的关系来解决实际问题,这就需要对问题域中的对象作整体分析,类和类间关系的设计要求较高,否则设计出的并不是真正意义上的面向对象的软件系统,而只是一些类的堆砌而已,不能体现出面向对象设计方法的优势之处9 模块的独立性如何度量?
根据模块的外部特征和内部特征,提出了两个定性的度量标准--耦合性和内聚性。
10 什么是耦合性和内聚性,都有哪些种?????1.耦合性????也称快间联系,指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。模块的耦合性有以下几种类型,分为:???(1)无直接耦合????指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。因此模块间耦合性最弱,模块独立性最高。???(2)数据耦合????指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。???(3)标记耦合????指两个模块传递的是数据结构,如:高级语言中的数组名、记录名、文件名等这些名字即为标记,其实传递的是这个数据结构的地址。???(4)控制耦合????指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某些
文档评论(0)