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.  小结:

①  需求分析的任务:准确地回答“系统必须做什么?”

②  获取需求的方法: 访谈, 原型, 自顶向下求精等

③  分析建模与规格说明:

数据模型:实体-联系图 & 数据规范化

功能模型:数据流行为模型:

状态转换图(简称状态图)

软件工程期末考试 AHNU的更多相关文章

  1. 复旦大学2015--2016学年第二学期高等代数II期末考试情况分析

    一.期末考试成绩班级前几名 胡晓波(90).杨彦婷(88).宋卓卿(85).唐指朝(84).陈建兵(83).宋沛颖(82).王昊越(81).白睿(80).韩沅伯(80).王艺楷(80).张漠林(80) ...

  2. 复旦大学2014--2015学年第二学期(14级)高等代数II期末考试第八大题解答

    八.(本题10分)  设 $A,B$ 为 $n$ 阶半正定实对称阵, 求证: $AB$ 可对角化. 分析  证明分成两个步骤: 第一步, 将 $A,B$ 中的某一个简化为合同标准形来考虑问题, 这是矩 ...

  3. 复旦大学2015--2016学年第一学期高等代数I期末考试情况分析

    一.期末考试成绩班级前几名 胡晓波(93).宋沛颖(92).张舒帆(91).姚人天(90).曾奕博(90).杨彦婷(90).白睿(88).唐指朝(87).谢灵尧(87).蔡雪(87) 二.总成绩计算方 ...

  4. 复旦大学2014--2015学年第二学期高等代数II期末考试情况分析

    一.期末考试成绩班级前几名 钱列(100).王华(92).李笑尘(92).金羽佳(91).李卓凡(91).包振航(91).董麒麟(90).张钧瑞(90).陆毕晨(90).刘杰(90).黄成晗(90). ...

  5. 复旦大学2014--2015学年第一学期高等代数I期末考试情况分析

    一.期末考试成绩班级前几名 金羽佳(92).包振航(91).陈品翰(91).孙浩然(90).李卓凡(85).张钧瑞(84).郭昱君(84).董麒麟(84).张诚纯(84).叶瑜(84) 二.总成绩计算 ...

  6. nyoj 757 期末考试【优先队列+贪心】

    期末考试 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 马上就要考试了,小T有许多作业要做,而且每个老师都给出来了作业要交的期限,如果在规定的期限内没 交作业就会扣 ...

  7. 复旦大学2016--2017学年第一学期高等代数I期末考试情况分析

    一.期末考试成绩班级前十名 宁盛臻(100).朱民哲(92).徐钰伦(86).范凌虎(85).沈伊南(84).何陶然(84).丁知愚(83).焦思邈(83).董瀚泽(82).钱信(81) 二.总成绩计 ...

  8. 2012 B 中国近现代史纲要》课程期末考试试卷

    湖南人文科技学院2013年3月公共课 2011级<中国近现代史纲要>课程期末考试试卷B 考核方式:(开卷)                                    考试时量: ...

  9. 2012 A 《中国近现代史纲要》课程期末考试试卷

    湖南人文科技学院2012—2013学年第1学期公共课 2011级<中国近现代史纲要>课程期末考试试卷 考核方式:(开卷)                                   ...

随机推荐

  1. 老李分享: 并行计算基础&编程模型与工具

    在当前计算机应用中,对高速并行计算的需求是广泛的,归纳起来,主要有三种类型的应用需求: 计算密集(Computer-Intensive)型应用,如大型科学工程计算与数值模拟: 数据密集(Data-In ...

  2. Asp.NetCore之组件写法

    本章内容和大家分享的是Asp.NetCore组件写法,在netcore中很多东西都以提供组件的方式来使用,比如MVC架构,Session,Cache,数据库引用等: 这里我也通过调用验证码接口来自定义 ...

  3. Spring基础学习(一)—初识Spring

    一.Spring的使用 1.导入jar包 2.编写实体类 Person.java public class Person{ private String name; public void say() ...

  4. Entity Framework技术系列之0:开篇

    小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/shareto ...

  5. 关于C++中的前置声明(附程序运行图)

    实验于华中农业大学逸夫楼2017.3.10 在编写C++程序的时候,偶尔需要用到前置声明(Forward declaration).下面的程序中,带注释的那行就是类B的前置说明.这是必须的,因为类A中 ...

  6. 【iOS】7.4 定位服务->3.4 地图框架MapKit 功能4:地图截图

    本文并非最终版本,如果想要关注更新或更正的内容请关注文集,联系方式详见文末,如有疏忽和遗漏,欢迎指正. 本文相关目录: ================== 所属文集:[iOS]07 设备工具 === ...

  7. Ubuntu 16.04系统下安装PHP5.6*

    Ubuntu 16.04系统默认php7,并没有php5*的包,所以需要自己安装: 方法: 1.删除所有的php包列出安装的php包,dpkg -l | grep php| awk '{print $ ...

  8. 跟着刚哥梳理java知识点——枚举和注解(十四)

    enum Season{ SPRING("spring","春暖花开"), SUMMER("summer","夏日炎炎" ...

  9. Hadoop之RPC简单使用(远程过程调用协议)

    一.RPC概述 RPC是指远程过程调用,也就是说两台不同的服务器(不受操作系统限制),一个应用部署在Linux-A上,一个应用部署在Windows-B或Linux-B上,若A想要调用B上的某个方法me ...

  10. ReentrantLock 以及 AQS 实现原理

    什么是可重入锁?       ReentrantLock是可重入锁,什么是可重入锁呢?可重入锁就是当前持有该锁的线程能够多次获取该锁,无需等待.可重入锁是如何实现的呢?这要从ReentrantLock ...