• 软件工程期末考试 AHNU


    1.      数据流图:一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程,是系统逻辑功能的图形表示。设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地实现这些功能,所以它也是今后进行软件设计的很好的出发点。
    2.      数据字典的任务是: 对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。
    2.数据流图和数据字典共同构成系统的逻辑模型没有数据字典数据流图就不严格,没有数据流图,数据字典也难于发挥作用。
    3.      在分析软件需求和书写软件需求规格说明书的过程中,分析员和用户都起着关键的、必不可少的作用。 
    4.      需求分析的具体任务:确定对系统的综合要求(建立数据模型,用图形化的工具描述数据结构(如层次方框图和warnier图))、分析系统的数据要求(数据流图、实体-联系图、状态转换图(后面将详细讲解)、数据字典等)、分析系统的数据要求、修正系统开发计划(由分析过程准确地估计系统的成本和进度,修正以前制定的开发计划)
    5.      确定对系统的综合要求:
    1、  功能需求:要求划分出系统必须完成的所有功能。
    2、  性能需求:包括定时约束和容量约束,如响应时间、信息量的速率、主存容量、磁盘容量、安全性等方面内容。
    3、  可靠性和可用性需求
    3、   (1)可靠性:定量指出系统的可靠性。
    3、   (2)可用性:量化了用户可以使用的程度。
    4、  出错处理需求:主要说明系统对环境错误应该怎样响应。
    5、  接口需求:用户接口需求、通信接口需求、软件/硬件接口需求。
    6、  约束:如精度、工具和语言约束、设计约束、应该使用的标准和平台。
    7、  逆向需求:说明系统不应该做什么。如“应力分析程序无须分析桥梁倒塌数据”。
    8、  将来可能提出的要求:列出虽然不属于当前系统开发范畴,但据分析将来可能会提出来的要求,以便将来扩充和修改。
    6.      与用户沟通获取需求的方法:访谈、面向数据流自顶向下逐步求精、简易的应用规格说明技术、快速建立软件原型(它应该实现用户看得见的功能,原型要具有快速并容易修改的特点)
    7.      结构化分析方法就是面向数据流自顶向下层步求精。
    8.      软件系统本质上是信息处理系统,而任何信息处理系统的基本功能都是把输入数据转变成需要的输出信息。数据决定了需要的处理和算法,看来数据显然是需求分析的出发点。
    9.      简易的应用规格说明技术:提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同方案并指定基本需求。进行初步的访谈、开发者和用户双方组织的代表出席会议、每个小组为每张列表中的项目制定小型规格说明、根据会议成果起草完整的软件需求规格说明书。
    10.  快速建立软件原型:①方法是最准确、最有效、最强大的需求分析技术。②快速原型就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。③构建原型的要点是,它应该实现用户看得见的功能(例如,屏幕显示或打印报表),省略目标系统的“隐含”功能(例如,修改文件)。④应该具备的第一个特性是“快速”。第二个特性是“容易修改”。原型的“修改-试用-反馈”过程可能要重复多次。
    11.  需求分析过程应该建立3种模型,它们分别是数据模型、功能模型和行为模型。
    11.①功能模型(面向流的建模):数据流图(DFD/CFD),指明系统具有的变换数据的功能,是建立功能模型的基础。
    11.②数据模型(数据建模):如实体关系图(ERD),描绘数据对象及数据对象之间的关系,是用于建立数据模型的图形
    11.③行为模型(基于行为的建模): Petri网、状态图,指明了作为外部事件结果的系统行为,是行为建模的基础。
    12.  数据模型 ---- 是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,反映了用户的现实环境,而且与在软件系统中的实现方法无关。数据模型中包含3种相互关联的信息:数据对象(实体)、数据对象的属性及数据对象彼此间相互连接的关系。
    13.  数据规范化的目的是:①消除数据冗余,即消除表格中数据的重复;②消除多义性,使关系中的属性含义清楚、单一;③使关系的“概念”单一化,让每个数据项只是一个简单的数或字符串,而不是一个组项或重复组;④方便操作。使数据的插入、删除与修改操作可行并方便;⑤使关系模式更灵活,易于实现接近自然语言的查询方式。
    14.  状态转换图(简称为状态图):通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。
    15.  状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态又做动作。
    16.  活动表的语法格式:事件名(参数表)/动作表达式①“事件名”可以是任何事件的名称。在活动表中经常使用下述3种标准事件:entry,exit和do。entry事件指定进入该状态的动作,exit事件指定退出该状态的动作,而do事件则指定在该状态下的动作。需要时可以为事件指定参数表。②动作表达式描述应做的具体动作
    17.  事件表达式的语法:事件说明[守卫条件]/动作表达式  事件说明:事件名(参数表)
    ①  守卫条件是一个布尔表达式,如果既有事件说明又有守卫条件,则当事件发生且守卫条件为真是状态转换才发生,如果只有守卫条件没有事件说明,则守卫条件为真时,发生状态转换。
    ②  动作表达式:当状态转换开始时执行该表达式。
    18.  其他图形工具:层次方框图、Warnier图、IPO图
    19.  层次方框图:层次方框图用树形结构的一系列多层次矩形框描绘数据的层次结构。随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。
    20.  Warnier图:用Warnier图可以表明信息的逻辑组织。
    21.  验证软件需求:①一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。②完整性:需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。③现实性:指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。④有效性:必须证明需求是正确有效的,确实能解决用户面对的问题。
    22.  小结:
    ①  需求分析的任务:准确地回答“系统必须做什么?”
    ②  获取需求的方法: 访谈, 原型, 自顶向下求精等
    ③  分析建模与规格说明:
    数据模型:实体-联系图 & 数据规范化
    功能模型:数据流行为模型:
    状态转换图(简称状态图)
  • 相关阅读:
    474. Ones and Zeroes
    [LeetCode]464. Can I Win
    413. Arithmetic Slices
    numpy学习(布尔型索引)
    numpy学习(数组和标量之间的运算切片)
    numpy学习(数组的定义及基础属性)
    关于静态显示游标的遍历
    关于oracle的数组
    shutil模块
    开源库(不定义更新)
  • 原文地址:https://www.cnblogs.com/shugen/p/6863057.html
Copyright © 2020-2023  润新知