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. Android之利用正则表达式校验邮箱、手机号、密码、身份证号码等

    概述 现在Android应用在注册的时候基本会校验邮箱.手机号.密码.身份证号码其中一项或多项,特此收集了相关的正则表达式给大家分享.除了正则表达式,文章末尾提供Demo中有惊喜哦! 具体验证的图片效 ...

  2. Alamofire源码解读系列(十二)之时间轴(Timeline)

    本篇带来Alamofire中关于Timeline的一些思路 前言 Timeline翻译后的意思是时间轴,可以表示一个事件从开始到结束的时间节点.时间轴的概念能够应用在很多地方,比如说微博的主页就是一个 ...

  3. linux里的那么点东西(持续更新)

    作为一个程序猿的确是应该上的了windows,下的了linux的.但是由于没有对linux产生一些刚性的需求,所以使用的次数还是略少,对一些基本的concept和command还是有一些生疏.借着最近 ...

  4. 深入Callable及Runnable两个接口 获取线程返回结果

    今天碰到一个需要获取线程返回结果的业务场景,所以了解到了Callable接口. 先来看下下面这个例子: public class ThreadTest { public static void mai ...

  5. 利用_winreg模块在注册表中分析无线访问热点

    _winreg.OpenKey(key, sub_key, res, sam)     key是一个已经打开的键,或者是HKEY_CLASSES_ROOT.HKEY_CURRENT_USER.HKEY ...

  6. Spring+SpringMVC+MyBatis+easyUI整合优化篇(十)数据层优化-整合druid

    druid介绍 这是druid对自己的介绍: Druid是阿里开源的一个数据库连接池技术,号称自己是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.B ...

  7. 快速认识HTML及一般标签

    HTML(Hype Text Language,超文本标记语言) <html >--开始标签 <head> 网页控制信息 <title>网页标题</title ...

  8. C++学习笔记1(标准的输入输出)

    前言: 个人一直以来比较懒,最近才准备记录一下自己学习C++的学习过程,希望自己能在写博客的时候能够坚持下去,欢迎大家在博客中支出存在的问题,好了不多说了,自己能坚持下去.我准备在我的博客中通过与C语 ...

  9. React Starter Kit 中文文档

    最近没事又翻译了个玩意. Github上的一个Star 非常高的 React 样板程序. 由Node.js,Express,GraphQL和React构建,可选加入Redux等,并可以包含Webpac ...

  10. ZJOI2017 day1滚粗记

    这几天去温州作为外省选手参加了$ZJOI day1$.打了几天的酱油,考试也滚粗了.. $day -2$ 中午从学校出发,坐飞机去温州.到了温州以后吃完晚饭就回宾馆.把一直想做的糖果公园做完了以后就堕 ...