软件工程导论1-3章总结汇总
软件工程导论知识总结
![软件工程导论知识总结](https://img.taocdn.com/s3/m/bcca21fec8d376eeafaa3106.png)
软件工程导论第一章:软件工程学概论1. 软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2. 概括的说,软件危机包括两方面问题:如何开发软件已满足日益增长的需求;如何维护数量不断膨胀的已有软件。
3. 软件危机的典型表现:对软件开发成本和进度的估计常常很不准确;用户对“已完成的”软件系统不满意的现象经常发生;软件的质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档资料;软件成本在计算机系统总成本中所占的比例逐年上升;软件开发生产率提高的速度,远远跟不上计算机应用迅速不及深入的趋势。
4. 产生软件危机的原因:在软件开发和维护的过程中存在这么多严重的问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
5. 在实践过称中或多或少的采用了错误的方法和技术,这可能是使软件问题发展成软件危机的主要原因。
6. 软件不同与硬件,他是计算机系统中的逻辑部件而不是物理部件。
7. 软件不同于一般程序,他的一个显著特点是估摸庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
8. 软件本身独有的特点确实给开发和维护带来一些客观困难。
9. 对用户要求没有完整的认识就匆忙着手编写程序是软件开发功臣失败的主要原因之一。
10. 一个软件从定义、开发、使用和维护,直到最终被遗弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生命周期。
11. 软件是程序、数据及相关文档的完整集合。
其中,程序是能够完成预定功能和性能的可执的指令序列;数据是使程序能够适当的处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。
12. 软件工程是指导计算机软件开发和维护的一门工程学科。
13. 软件工程是:把系统的、规范的、可度量的途径应用与软件开发、运行和维护过程,也就是吧工程应用与软件;研究前面所提到的途径。
14. 软件工程的本质特性:软件工程关注与大型程序的构造;软件工程的中心课题是控制复杂性;软件经常变化;开发软件的效率非常重要;和谐的合作是开发软件的关键;软件必须有效地支持他的用户;在软件工程领域中通常由具有一种文化背景的人体另一种具有文化背景的人创造产品。
软件工程导论复习重点总结很全(第六版)
![软件工程导论复习重点总结很全(第六版)](https://img.taocdn.com/s3/m/c00bcb94370cba1aa8114431b90d6c85ec3a88ed.png)
软件工程导论复习重点总结很全(第六版)软件工程导论复习重点总结很全(第六版)软件工程是一门研究如何以系统化的、可管理的和可维护的方式来构建高质量的软件的学科。
在软件工程导论中,我们学习了软件开发的基本概念、原理和方法。
本文将对软件工程导论的重点内容进行总结,帮助读者巩固所学知识,为学习和工作提供帮助。
1. 软件工程概述软件工程的定义、目标和原则;软件生命周期和过程模型;软件开发的重要性和挑战;软件工程中的质量保证和风险管理。
2. 软件需求工程软件需求的定义和分类;需求获取、分析和建模;需求验证和确认;需求变更和配置管理。
3. 软件设计软件设计原则和方法;面向对象设计和结构化设计;软件架构设计;设计模式的应用。
4. 软件测试与调试软件测试的概念和目的;测试策略和技术;测试用例的设计和执行;测试评估和管理;软件错误调试和修复。
5. 软件项目管理软件项目管理的基本概念和流程;项目计划和进度管理;团队组织和沟通;风险管理和变更管理;质量管理和配置管理;软件工程伦理与法规。
6. 软件开发过程软件开发过程模型的选择和应用;瀑布模型、迭代模型和敏捷开发等常用模型的特点和比较;敏捷开发方法的原理和实践。
7. 软件工具与环境软件开发工具的选择和使用;集成开发环境、版本控制工具、测试工具和调试工具等的功能和特点;软件工程中的自动化工具和技术。
8. 软件工程的前沿技术软件工程的新兴技术和趋势;人工智能、大数据、云计算等技术在软件开发中的应用;软件工程的创新与创业。
通过对上述主要内容的学习和理解,我们可以全面掌握软件工程导论的核心知识和方法。
在今后的学习和实践中,我们应该注重理论与实际的结合,不断提高自己在软件开发和项目管理方面的能力。
只有不断学习和实践,我们才能成为优秀的软件工程师,为社会和企业创造更大的价值。
总结:软件工程导论是软件工程领域中的重要基础课程,通过对软件开发过程和管理原理的学习,我们可以掌握软件工程的基本概念、原则和方法。
软件工程导论复习重点总结很全第六版
![软件工程导论复习重点总结很全第六版](https://img.taocdn.com/s3/m/b5a3a238793e0912a21614791711cc7931b778b7.png)
第1章软件工程学概述1.1 软件危机1.1.1 软件危机旳简介软件危机(软件萧条、软件困扰): 是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。
软件危机包括下述两方面旳问题:怎样开发软件, 满足对软件日益增长旳需求;怎样维护数量不停膨胀旳已经有软件。
软件危机旳经典体现:(1)对软件开发成本和进度旳估计常常很不精确;(2)顾客对“已完毕旳”软件系统不满意旳现象常常发生;(3)软件产品旳质量往往靠不住;(4)软件常常是不可维护旳;(5)软件一般没有合适旳文档资料;(6)软件成本在计算机系统总成本中所占旳比例逐年上升;(7)软件开发生产率提高旳速度, 远远跟不上计算机应用迅速普及深入旳趋势。
1.1.2 产生软件危机旳原因(1)与软件自身旳特点有关(2)与软件开发与维护旳措施不对旳有关1.1.3 消除软件危机旳途径对计算机软件有对旳旳认识。
认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完毕旳工程项目。
应当推广使用在实践中总结出来旳开发软件旳成功技术和措施, 并继续研究探索。
应当开发和使用更好旳软件工具。
总之, 为了处理软件危机, 既要有技术措施(措施和工具), 又要有必要旳组织管理措施。
1.21.2.1 软件工程旳简介软件工程: 是指导计算机软件开发和维护旳一门工程学科。
采用工程旳概念、原理、技术和措施来开发与维护软件, 把通过时间考验而证明对旳旳管理技术和目前可以得到旳最佳旳技术措施结合起来, 以经济地开发出高质量旳软件并有效地维护它, 这就是软件工程。
(期中考)软件工程旳本质特性:软件工程关注于大型程序旳构造软件工程旳中心课题是控制复杂性软件常常变化开发软件旳效率非常重要友好地合作是开发软件旳关键软件必须有效地支持它旳顾客在软件工程领域中是由具有一种文化背景旳人替具有另一种文化背景旳人发明产品1.2.2 软件工程旳基本原理用分阶段旳生命周期计划严格管理坚持进行阶段评审实行严格旳产品控制采用现代程序设计技术成果应能清晰地审查开发小组旳人员应当少而精承认不停改善软件工程实践旳必要性1.2.3 软件工程措施学软件工程包括技术和管理两方面旳内容。
(完整版)《软件工程导论》第五版张海藩编著总结
![(完整版)《软件工程导论》第五版张海藩编著总结](https://img.taocdn.com/s3/m/a904124b08a1284ac9504365.png)
总结重点:❖∙Unit1❖∙软件危机包含两方面的问题:一是如何开发软件,怎样满足人们对软件日益增长的需求?二是如何维护软件,使它们持久地满足人们的要求。
❖∙软件工程学定义:把软件当作一种工业产品,采用工程学的原理来管理和组织软件的开发和维护,称为软件工程。
❖∙软件是指程序、数据和文档三者共同构成的配置。
❖∙包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作称为软件。
文档是描述程序开发过程的,是智力创作的真实记录,是创作活动的历史档案和结晶。
❖∙软件的描述性定义:软件由计算机程序,数据结构和文档组成。
❖∙软件质量定义为“与软件产品满足规定的和隐含的需求能力有关的特征和特性的全体”具体来说: 1)软件产品中能满足给定需求的性质和特性的总体;2)软件具有所期望的各种属性的组合程度。
❖∙将软件质量属性划分为六个特性(功能性、可靠性、易用性、效率、维护性和可移植性),这六个属性是面向用户的观点——面向管理的观点,且是定性描述的。
❖∙软件质量度量体系:内部度量可用于开发阶段的非执行软件产品,外部度量只能在生存周期过程中的测试阶段和任何运行阶段使用。
❖∙软件工程项目的基本目标:(1)低成本;(2)满足功能要求;(3)高性能;(4)易移植;(5)易维护。
❖∙软件工程方法学就是要从技术和管理上提供如何去设计和维护软件。
❖∙软件开发方法:面向数据流(约旦)方法、面向数据结构方法、面向对象方法。
❖∙结构程序设计是进行以模块功能和处理过程设计为主的详细设计的基本原则。
它的主要观点是采用自顶向下、逐步求精的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。
❖∙用来辅助软件开发、运行、维护、管理、支持等过程中活动的软件称为软件工具(CASE)。
❖∙软件生存周期定义:软件产品从形成概念开始,经过开发、使用和维护,直到最后不再使用的整个过程。
各阶段的任务彼此间尽可能的相对独立,同一阶段内各项任务的性质尽可能的相同。
软件工程导论总结报告[最终定稿]
![软件工程导论总结报告[最终定稿]](https://img.taocdn.com/s3/m/d7dee1693a3567ec102de2bd960590c69ec3d898.png)
软件工程导论总结报告[最终定稿]第一篇:软件工程导论总结报告软件工程总结报告序言本期软件工程专业导论课程结束后,为圆满完结本期此课程的学习,特此总结个人学习所得以求些许回报先生无私教导。
主体第一节课主要讲述了软件工程各领域之间的联系以及贯穿始终的基础为何。
其中较为基础并相当重要使的应该是算法。
对于算法重要性与基础性的理解,我个人有比较切身的体验。
比如前不久的ACM竞赛,在比赛中我所在的小组以及当场几乎所有小组都遇到这样一个问题:超时—这无非就是个人设计的算法的效率不够高,这也证明我们对算法理论知识的匮乏(不清楚优化个人算法的方法)。
我对软件工程这一专业有了一个较为全面的把握,对我个人未来进取方向而言也起到了一定的指导作用。
第二节课老师带来了三位本专业的前辈向我们传授大学生活应如何度过以及对我等一些问题作出解答。
其中我个人印象深刻的是其中一位学姐PPt中引用李开复的那部分内容。
即试着记录下自己一整天做的所有事以及其所花费的时间,再仔细研究自己在哪些事上浪费了时间,应该如何整改。
我个人认为这方法可能有一定直观性,因为直观的数据更能深刻的反映真实和刺激一个人整改,但此法实施起来又太古板,中觉得生活有些教条化、章程化,缺乏新意与自由。
求上进,珍惜时间也无需以丧失人生情趣为代价。
还有就是学长再提潘老师曾讲过的那些重要、紧急优先次序。
他提到的个人的学习生活情况倒没什么深刻感,但我认为他引用的一番话较有道理,大概意思是比起个人兴趣更为优先的应该是谋生的本领,尤其是当自己感兴趣的正好是冷门时。
当掌握了一些实实在在有能保证自身良好发展前景后,再去做一些自己感兴趣的事也来得及。
于我而言,一个人尚不能独善其身,何求其兼济天下。
成己方成人就是如此道理。
第三节课主要讲解了大学学习生活中应着重的基础课以传递重基础的要旨。
据个人体会,其中英语科目实是基础中的基础,主要是为辨认单词(即代码变量以及注释)意义以达到理解他人算法并顺利接手他人接下来的工作。
软件工程导论复习整理(最新)
![软件工程导论复习整理(最新)](https://img.taocdn.com/s3/m/c4532f0dff00bed5b9f31d9a.png)
第一章1..软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2.软件与硬件的区别:软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
3.软件:程序、数据及相关文档的完整集合。
4.软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到最好的技术方法结合起来,以经济地开发出高质量的软件并有校地维护它。
5.软件工程方法学三要素:方法、工具和过程。
6.传统方法学也称为生命周期方法学或结构化范型。
它采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
7.面向对象方法学把数据和行为看成同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。
8.软件生命周期划分为三个时期:1软件定义(问题定义、可行性研究、需求分析),2软件开发(总体设计、详细设计、编码和单元测试、综合测试),3运行维护(软件维护)。
9.4类软件维护活动:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件,为将来的维护活动预先做准备。
10.“瀑布模型”的缺点:它是由文档驱动的,仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品;瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的产品不能真正的满足用户的需要。
11.快速原型模型的优点:原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求;开发人员通过建立原型系统已经学到了很多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。
第二章1.可行性研究的三个方面:技术可行性:使用现有的技术能实现这个系统经济可行性:这个系统的经济效益能超过它的开发成本操作可行性:系统的操作方式在这个用户组织内行得通2.数据流图的4个基本符号及画法P413.数据字典:是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
软件工程导论知识点总结(整理)
![软件工程导论知识点总结(整理)](https://img.taocdn.com/s3/m/361b21fc988fcc22bcd126fff705cc1755275f1e.png)
软件⼯程导论知识点总结(整理)《软件⼯程导论》课后习题答案第⼀章软件⼯程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的⼀系列严重问题。
这些问题表现在以下⼏个⽅⾯:(1)⽤户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)⼀般软件很难维护。
(4)软件⽣产效率很低。
(5)软件开发成本越来越⼤。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满⾜不了计算机应⽤的普及与深⼊的需要。
2.为什么会产⽣软件危机?(1) 开发⼈员⽅⾯,对软件产品缺乏正确认识,没有真正理解软件产品是⼀个完整的配置组成。
造成开发中制定计划盲⽬、编程草率,不考虑维护⼯作的必要性。
(2) 软件本⾝⽅⾯,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统⼀的、公认的⽅法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越⼤,复杂程度越来越⾼,原有软件开发⽅式效率不⾼、质量不能保证、成本过⾼、研制周期不易估计、维护困难等⼀系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴⼈类长期以来从事各种⼯程项⽬中积累的⾏之有效的有效原理、概念、技术与⽅法,特别是吸取⼏⼗年来⼈类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努⼒作到良好的组织,严格的管理,相互友好的协作。
(2) 推⼴在实践中总结出来的开发软件的成功的技术和⽅法,并研究更好、更有效的技术和⽅法,尽快克服在计算机系统早期发展阶段形成的⼀些错误概念和作法。
(3) 根据不同的应⽤领域,开发更好的软件⼯具并使⽤这些⼯具。
将软件开发各个阶段使⽤的软件⼯具集合成⼀个整体,形成⼀个很好的软件开发⽀环环境。
总之为了解决软件危机,既要有技术措施(⽅法和⼯具),⼜要有必要的组织管理措施。
4.构成软件项⽬的最终产品:应⽤程序、系统程序、⾯向⽤户的⽂档资料和⾯向开发者的⽂档资料。
5.什么是软件⽣存周期?软件⽣存周期是指从软件定义、开发、使⽤、维护到淘汰的全过程。
软件工程导论第五版复习重点
![软件工程导论第五版复习重点](https://img.taocdn.com/s3/m/db6329ae9f3143323968011ca300a6c30c22f13b.png)
储户
储户
1
记录存款 信息
打印存款 信息
存款单
存款信息
存款存单
3
计算利息
4
打印利息 清单
存款信息
利息值
利息清单
D1
存款信息
存款信息
2
细化后的计算机储蓄系统软件结构
第3章 需求分析
1、需求分析的基本任务是什么?P46-P48 2、分析建模 2.1什么是模型? 模型:就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。 2.2数据模型(E-R)、 功能模型(2.4节数据流图)、 行为模型(状态转换图是行为模型的基础) 3、要从哪些方面验证软件需求?P60
第6章 详细设计
1、结构程序设计中有哪几种基本控制结构?P108 2、了解人机界面的设计。 3、掌握过程设计的工具(程序流程图、盒图、PAD图,判定树)P114—P119 4、面向数据结构的设计方法(Jackson图) 5、程序复杂度的定量度量(McCabe)
6.1 结构程序设计
6.1 结构程序设计
实现
编码和测试
7.2 软件测试基础
7.2 软件测试基础
软件测试:为发现程序中的错误而执行程序的过程。 软件测试的准则(尽早和不断的测试、彻底测试的不可能、软件测试是有风险的行为、并非所有的软件错误都能恢复、反向思维逻辑、由小到大的测试范围、避免检查自己的代码、追溯至用户需求) 测试方法(黑盒测试和白盒测试) 测试步骤(模块测试、子系统测试、系统测试、验收测试、平行运行)
图6.4 盒图的基本符号
图6.5 PAD中基本符号 顺序结构;(b) 分支结构;(c) 多分支CASE结构; (d) 当型循环;(e);直到型循环;(f) 语句标号;(g)定义
(完整word版)软件工程导论(第6版)(word文档良心出品)
![(完整word版)软件工程导论(第6版)(word文档良心出品)](https://img.taocdn.com/s3/m/c73ac40e83c4bb4cf7ecd1d4.png)
第一章、软件工程学概述软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机包含下述两个方面的问题:1.如何开发软件,以满足对软件日益增长的需求。
2.如何维护数量不断膨胀的已有软件。
具体的说,软件危机主要有以下一些典型表现:1.对软件开发成本的进度的估计常常很不准确。
2.用户对“已完成的”软件系统不满意的现象经常发生3.软件产品的质量往往靠不住。
4.软件常常是不可维护的。
5.软件通常没有适当的文档材料。
6.软件成本在计算机系统总成本中所占的比例逐年上升。
7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
软件生命周期:一个软件从定义、开发、使用和维护,知道最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生命周期。
软件配置:程序、文档和数据。
软件工程学的一个重要的目标:就是提高软件的可维护性,减少软件维护的代价。
软件:是程序、数据及相关文档的集合。
程序:是能够完成预定功能和性能的可执行的指令序列。
数据:是使程序能够适当地处理信息的数据结构。
文档:是开发、使用和维护程序所需要的图文资料。
软件工程:指导计算机软件开发和维护的一门工程学科。
软件工程具有下属的本质特性:1.软件工程关注于大型程序的构造。
2.软件工程的中心课题是控制复杂性。
3.软件经常变化。
4.开发软件的效率非常重要。
5.和谐地合作是开发软件的关键。
6.软件必须有效地支持它的用户。
7.在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品。
软件工程的7条基本原理:1.用分阶段的生命周期计划严格管理。
2.坚持进行阶段评审。
3.实行严格的产品控制4.采用现代程序设计技术。
5.结构应能清楚的审查。
6.开发小组的人员应该少而精。
7.承认不断改进软件工程实践的必要性。
软件工程:包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科。
通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为泛型。
软件工程导论1-3章总结
![软件工程导论1-3章总结](https://img.taocdn.com/s3/m/c0f20bbca6c30c2258019eae.png)
开发软件的基本过程:提出研制要求生命周期方法:生命周期法采用介于形式语言和自然语言之间的描述方式,通过一套分层的数据流程图,附以数据字典、小说明等工具来描述系统。
生命周期法的基本思想为保证系统开发的顺利进行,生命周期法强调遵循以下几个基本原则:(一)面向用户的观点信息系统的目的是为管理人员提供管理和决策信息,能否满足用户的信息需求,是系统成败的重要标志。
实践证明,用户的参与,尤其是领导的介入,是系统成功的关键。
在整个研制过程中,系统研制人员应该始终与用户保持联系,从调查研究入手,充分理解用户的信息需求和业务活动,不断地让用户了解工作进展情况,校准工作方向。
(二)严格区分工作阶段生命周期法强调按时间顺序、工作内容,将系统开发划分为几个工作阶段,如系统规划阶段、系统分析阶段、系统设计阶段、系统实施阶段以及系统运行与维护阶段等等,各个阶段的任务是明确的,过程是循序渐进的。
对于复杂的系统,要强调和加强前期工作,强调分析设计的深入细致,以避免后期返工,造成投资耗费和负社会效益。
(三)自顶向下地完成系统的研制工作在系统分析阶段,从全局出发,对企业进行周密的调查分析,自上而下,从粗到精,由表及里,逐层、逐级进行业务过程分解,最后进行逆向综合和抽象,完成新系统模型的构造。
在系统设计阶段,用划分子系统的方法,把系统逐层分解到详细模块,完成设计方案。
在实施阶段,从实现系统的框架开始,自上而下实现系统功能。
程序设计过程中同样采用结构化设计的方法,自顶向下,逐步求精。
(四)充分考虑变化的情况组织的经营环境在变化,用户的信息需求也在变化,他们对信息系统的要求会自然越来越高。
生命周期法充分考虑了这种变化,在系统设计中,把系统的可变更性放在了首位,运用模块结构方式来组织系统,使系统的灵活性和可变更性得以充分体现。
(五)工作成果文档化、标准化系统开发是一项复杂的系统工程,参加人员多,经历时间长。
生命周期法用文档的标准化保证开发工作的连续性,在每个开发阶段,都要用文字、图表表达该阶段的成果,资料格式标准化、格式化。
软件工程导论最全复习总结
![软件工程导论最全复习总结](https://img.taocdn.com/s3/m/60a9b1c1cd22bcd126fff705cc17552707225ec0.png)
1、软件危机是指在计算机开发过程中旳开发和维护过程中所碰到旳一系列旳严重问题。
2、软件是程序、数据及有关文档旳完整集合,程序是可以完毕预定功能和性能旳可执行旳程序序列;数据是是使程序可以合适旳处理信息旳数据构造;文档是开发、使用和维护程序所需要旳图文资料。
3、软件工程学包括3个要素:措施、工具、过程。
4、目前使用最广泛旳软件工程措施学是老式措施学和面向对象措施学。
5、软件工程措施学旳软件过程基本上可以用瀑布模型来描述。
6、瀑布模型、迅速原型模型、增量模型、螺旋模型、喷泉模型。
7、Rup把软件生命周期划为:初始、精化、构建、移交阶段。
8、可行性研究旳三方面:技术可行性、经济可行性、操作可行性。
9、数据流图(DFD是一种图形化技术,他描绘信息流和数据从输入移动到输出旳过程中所经受旳变化。
10、数据字典是有关数据信息旳集合,也就是对数据流程图中所包括旳所有元素旳定义旳集合。
11、数据流图和数据字典共同构成系统旳逻辑模型,没有数据字典,数据如就不严格,没有流程图,数据字典也难以发挥作用。
12、需求分析阶段结束之前,系统分析员应当写出软件需求规格阐明书,以书面形式准确旳描述软件需求。
13、9、构造化分析措施就是面向数据流自顶向下逐渐求精进行需求分析旳措施。
14、ER图中包括了实体、关系和属性,矩形代表实体,菱形表达关系,椭圆或圆角矩形表达属性,用直线把实体和其属性连接。
15、验证软件需求旳对旳性:一致性、完整性、现实性、有效性。
16、总体设计旳基本目旳是回答“概括地说,系统应当怎样实现?”,总体设计又称为概要设或初步设计。
17、模块旳独立程度可以有两个定性标量度量:内聚和耦合。
18、软件测试旳目旳:(1测试是为了发现程序中旳错误而执行程序旳过程;(2好旳测试方案是极也许发现迄今为止尚未发现旳错误旳测试方案;(3成功旳测试是发现可至今为止尚未发现旳错误旳测试。
19、软件测试环节:模块测试、子系统测试、系统测试、验收测试、平行运行。
软件工程导论第五版复习资料全
![软件工程导论第五版复习资料全](https://img.taocdn.com/s3/m/a78f7938590216fc700abb68a98271fe910eaf40.png)
软件工程导论第一章软件工程学概述1、软件完成特点功能的程序以及数据结构和文档2、软件的特点(1)软件开发更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。
软件开发、设计几乎都是从头开始,成本和进度很难估计。
(2)软件存在潜伏错误,硬件错误一般能排除。
(3)软件开发成功后,只需对原版进行复制。
(4)软件在使用过程中维护复杂:1)纠错性维护一改正运行期间发现的潜伏错误;2)完善性维护一提高或完善软件的性能;3)适应性维护一修改软件,以适应软硬件环境的变化;4)预防性维护一改进软件未来的可维护性和可靠性。
(5)软件不会磨损和老化。
3、软件危机及软件危机的表现软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
软件危机的表现1)对软件开发成本和进度的估计常常很不准确。
常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象,从而降低了开发商的信誉,引起用户不满。
2)用户对已完成的软件不满意的现象时有发生。
3)软件产品的质量往往是靠不住的。
4)软件常常是不可维护的。
5)软件通常没有适当的文档资料。
文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。
6)软件成本在计算机系统总成本中所占比例逐年上升。
特别是软件维护成本迅速增加已经占据软硬件总成本的40%~75%。
7)开发生产率提高的速度远跟不上软件需求。
4、软件工程及软件工程的特性软件工程是用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法。
软件工程的特性:1)软件工程关注于大型程序的构造2)软件工程的中心课题是控制复杂性3)软件经常变化4)开发软件的效率非常重要5)和谐地合作是开发软件的关键6)软件必须有效地支持它的用户7)在软件工程中是由具有一种文化背景的人替具有另一种文化背景的人创造产品5、软件工程的基本原理用分阶段的生存周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应少而精承认不断改进软件工程实践的必要性6、软件生存周期一个软件从得出开发要求开始直到该软件报废为止的时期。
软件工程导论知识点
![软件工程导论知识点](https://img.taocdn.com/s3/m/e681b1d4370cba1aa8114431b90d6c85ec3a88a3.png)
软件工程导论知识点软件工程导论一、各章知识点1、统一建模语言(UML):是一种面向对象的建模语言,它是运用统一的,标准化的标记和定义实现对软件系统进行面向对象的描述和建模2、封装从字面上理解,所谓封装就是把某个事物包起来,使外界不知道该事物的具体内容。
封装也就是信息隐藏,通过封装对外界隐藏了对象的实现细节。
3、软件维护性的过程分为四类:改正性维护;适应性维护;完善性维护;预防性维护4、白盒、黑盒测试的概念如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。
这种测试叫做白盒测试,也叫结构测试。
如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用,这种测试叫做黑盒测试,也叫功能测试。
5、继承:继承是指能够直接获得已有的性质和特征,而不必重复定义它们继承分单继承(树型结构)和多重继承(网状结构)6、软件生命周期以及各阶段的任务(3个时期,9个阶段)概括的说,软件生命周期由软件定义,软件开发和运行维护3个时期组成,通常把前两个时期再一步划分成若干个阶段。
软件定义时期:问题定义;可行性研究;需求分析三个阶段软件开发时期:总体设计;详细设计;编码和单元测试;综合测试五个阶段软件定义时期的任务是:确定软件开发工程的总目标;研究该项目的可行性;分析确定客户对软件产品的需求估算完成该项目所需的资源和成本,并且制定工程进度表软件开发时期的任务是:具体设计和实现在前一个时期定义的软件运行维护时期的任务是:通过对已交付使用的软件做必要的修改,使软件持久地满足客户的需求7、需求/概要/详细设计阶段是干什么的?需求分析阶段的基本任务是确定软件必须”做什么”,使用的概念主题是”功能”概要设计阶段的任务是确定“怎样做“,使用的概念是”模块“详细设计阶段的任务就是把解法具体化,即回答“应该怎样具体地实现这个系统”使用的概念是“数据结构“和”算法“8、软件生命周期中时间花费做多的是维护阶段软件生命周期中最重要的是系统分析9、软件的开发模型。
软件工程导论复习重点总结--很全(第六版)
![软件工程导论复习重点总结--很全(第六版)](https://img.taocdn.com/s3/m/2b435a415f0e7cd1842536ad.png)
第1章第2章第11章软件工程学概述1.1 软件危机1.1.1 软件危机的介绍软件危机(软件萧条、软件困扰):是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机包含下述两方面的问题:如何开发软件,满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机的典型表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
1.1.2 产生软件危机的原因(1)与软件本身的特点有关(2)与软件开发与维护的方法不正确有关1.1.3 消除软件危机的途径对计算机软件有正确的认识。
认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
应该推广使用在实践中总结出来的开发软件的成功技术和方法,并继续研究探索。
应该开发和使用更好的软件工具。
总之,为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
1.21.2.1 软件工程的介绍软件工程:是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
(期中考)软件工程的本质特性:软件工程关注于大型程序的构造软件工程的中心课题是控制复杂性软件经常变化开发软件的效率非常重要和谐地合作是开发软件的关键软件必须有效地支持它的用户在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品1.2.2 软件工程的基本原理用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性1.2.3 软件工程方法学软件工程包括技术和管理两方面的内容。
《软件工程导论》第六版期末复习总结
![《软件工程导论》第六版期末复习总结](https://img.taocdn.com/s3/m/69824435c5da50e2524d7ffa.png)
软件工程一、名词解释与问答1、SA——结构化分析方法2、画数据流图应注意什么事项?(1)数据流名称只能是名词或是名词短语;(2)每个加工至少有一个输入数据和一个输出数据流,反映出此加工数据的来源与加工的结果;(3)编号:某个加工分解成一张数据流图时,上层图为父类,下层图为子类;父图与子图的平衡:子图的输入输出数据流同父类相应的输入输出数据流必须一致;(4)注意数据流图的易理解性;3、什么是软件生存周期?它有那几个活动?一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
4、什么是数据流图?作用是什么?其中的基本符号表示什么含义?以图的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。
箭头,表示数据流数据流是数据在系统内传播的路径,由一组成分固定的数据项组成;圆或椭圆,表示加工对数据进行某些操作或变换,每个加工要有名字,通常是动词短语,描述完成的加工;双杆,表示数据存储指暂时保存的数据;方框,数据源点或终点软件系统外部环境的实体,为帮助理解系统接口界面引入,只出现在顶层图中;什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分) 简述编码风格的重要性. 答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.简述软件测试的任务、目的与类型。
软件工程导论重点内容
![软件工程导论重点内容](https://img.taocdn.com/s3/m/197db7cc5ef7ba0d4b733b14.png)
第一章 软件工程概述软件危机以及产生软件危机的原因?1.软件开发生产率提高的速度,远远跟不上计算机迅速普及的趋势。
软件产品“供不应求”。
2.软件成本在计算机系统总成本中所占的比例逐年上升。
3.软件开发人员和用户之间的信息交流往往很不充分,用户对“已完成的”的软件系统不满足的现象经常发生。
4.软件产品的质量不容易保证。
5.软件产品常常是不可维护的。
6.软件产品的重用性差,同样的软件多次重复开发。
7.软件通常没有适当的文档资料。
产生软件危机的原因可归结为两个重要的方面:软件生产本身存在的复杂性;软件开发所使用的方法和技术。
三、软件危机1、软件危机定义:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2、软件危机的两个主要问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
3、软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。
(2) 用户对“已完成的”软件系统不满意的现象经常发生。
(3) 软件产品的质量往往靠不住。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
(6) 软件成本在计算机系统总成本中所占的比例逐年上升。
(7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
软件工程1、软件工程定义:软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地、高效的开发出高质量的软件并有效地维护它,这就是软件工程。
软件工程准则可以概括为7条基本原则:用分阶段的生命周期计划严格管理;坚持进行阶段评审实行严格的产品控制采用现代程序设计技术应能清楚地审查结果合理安排软件开发小组的人员承认不断改进软件工程实践的必要性3、软件工程方法学,三要素:方法、工具和过程4、软件生命周期(概念、三时期,八阶段)软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成。
软件工程导论张海藩编著考试范围及各章重点
![软件工程导论张海藩编著考试范围及各章重点](https://img.taocdn.com/s3/m/d5bb2a388f9951e79b89680203d8ce2f01666547.png)
软件工程考试整顿第一章1、CASE(Computer Aided Software Environment)2、软件危机旳概念P1-2:指在软件开发和维护过程中所碰到旳一系列严重问题。
(怎样开发软件,以满足对软件日益增长旳需求;怎样维护数量不停膨胀旳已经有软件)3、产生软件危机旳原因P3:首先与软件自身有旳特点有关,另首先也和软件开发与维护旳措施不对旳有关。
4、消除软件危机旳途径P5:既要有技术措施(措施和工具),又要有必要旳组织管理措施5、软件工程支撑环境P5:假如把各个阶段使用旳软件工具有机地集合成一种集体,支持软件开发旳全过程。
6、软件工程旳定义P5:是指导计算机软件开发和维护旳一门工程学科。
详细旳定义:①把系统旳、规范旳、可度量旳途径应用于软件开发、运行和维护过程,也就是把工程应用与软件;②研究①中提到旳途径。
7、软件工程措施学P9-10:包括三个要素:措施、工具和过程。
最广泛旳措施学包括老式措施学和面向对象措施学。
老式措施学:也称为生命周期措施学或构造化范型。
重要是把软件生命周期旳全过程一次划分为若干个阶段,然后次序地完毕每个阶段旳任务。
面向对象措施学:4个要点(对象、类、继承、封装性)8、软件生命周期3个时期P13:软件定义、软件开发、软件维护软件定义阶段:确定开发过程旳总任务;工程旳可行性;实现工程目旳应采用旳方略;系统必须完毕旳功能;估计资源和成本。
软件开发阶段:总体设计,详细设计(前两个阶段又称系统设计),编码和单元测试,综合测试(后两个阶段又称系统实现)。
9、三个模型旳优缺陷:瀑布模型(带反馈环)P15长处:①可强迫开发人员采用规范旳措施;②严格规定了每个阶段必须提交旳文档;③规定每个阶段交出旳所有产品都必须通过质量保证小组旳仔细验证。
缺陷:由于是一种文档驱动旳模型,最终开发出旳软件产品也许并不是顾客真正需要旳。
迅速原型模型(不带反馈环)P17可以通过迅速构建起一种在计算机上运行旳原型系统,让顾客试用原型并搜集顾客反馈意见旳措施,获取顾客旳真实需求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
生命周期方法:生命周期法采用介于形式语言和自然语言之间的描述方式,通过一套分层的数据流程图,附以数据字典、小说明等工具来描述系统。
生命周期法的基本思想为保证系统开发的顺利进行,生命周期法强调遵循以下几个基本原则:(一)面向用户的观点信息系统的目的是为管理人员提供管理和决策信息,能否满足用户的信息需求,是系统成败的重要标志。
实践证明,用户的参与,尤其是领导的介入,是系统成功的关键。
在整个研制过程中,系统研制人员应该始终与用户保持联系,从调查研究入手,充分理解用户的信息需求和业务活动,不断地让用户了解工作进展情况,校准工作方向。
(二)严格区分工作阶段生命周期法强调按时间顺序、工作内容,将系统开发划分为几个工作阶段,如系统规划阶段、系统分析阶段、系统设计阶段、系统实施阶段以及系统运行与维护阶段等等,各个阶段的任务是明确的,过程是循序渐进的。
对于复杂的系统,要强调和加强前期工作,强调分析设计的深入细致,以避免后期返工,造成投资耗费和负社会效益。
(三)自顶向下地完成系统的研制工作在系统分析阶段,从全局出发,对企业进行周密的调查分析,自上而下,从粗到精,由表及里,逐层、逐级进行业务过程分解,最后进行逆向综合和抽象,完成新系统模型的构造。
在系统设计阶段,用划分子系统的方法,把系统逐层分解到详细模块,完成设计方案。
在实施阶段,从实现系统的框架开始,自上而下实现系统功能。
程序设计过程中同样采用结构化设计的方法,自顶向下,逐步求精。
(四)充分考虑变化的情况组织的经营环境在变化,用户的信息需求也在变化,他们对信息系统的要求会自然越来越高。
生命周期法充分考虑了这种变化,在系统设计中,把系统的可变更性放在了首位,运用模块结构方式来组织系统,使系统的灵活性和可变更性得以充分体现。
(五)工作成果文档化、标准化系统开发是一项复杂的系统工程,参加人员多,经历时间长。
生命周期法用文档的标准化保证开发工作的连续性,在每个开发阶段,都要用文字、图表表达该阶段的成果,资料格式标准化、格式化。
这些文档资料在开发过程中是开发人员和用户交流思想的工具和媒介,在开发完成后,成为系统维护的依据。
因此,要求文档资料简洁明确,无二义性,既便于研制人员阅读,又便于用户理解。
生命周期法的特点生命周期法很适合于开发大型的事务处理系统、大型的管理信息系统和可靠性要求很高的复杂应用系统。
也是软件的社会化大生产的有效方法。
生命周期法具有以下特点:1、强调计划性,排除不确定性。
生命周期法通常假定系统的应用需求是预先描述清楚的,排除所有的不确定性因素。
2、强调分工,严格区分系统开发的各个阶段中的任务和要求,目的明确,任务清楚。
3.强调标准化和规范化,排除个性化和自由发挥。
规范、齐全的文档,严格的审定记录和有序的过程调度。
生命周期法的缺点生命周期法是最成熟、应用最广泛的一种工程化方法,它也有不足和局限性。
(一)系统需求的不确定性:1.在系统开发的起始阶段,用户对系统的目的和功能不了解,他们无法准确地描述自己对信息的需求。
2.系统分析人员和用户无法预测组织和系统的未来,按照目前状况描述的系统需求,可靠性可能很差。
3.用户和系统分析人员对信息需求的理解上会有偏差和错误,造成信息需求的描述不准确。
4、组织管理体制的变更,导致信息需求和工作过程发生变化。
(二)开发周期长一个规模较大的系统,其开发过程往往需要一至三年,这样一方面使用户在较长时间内不能得到一个可实际运行的物理系统,使用户有可望而不可及的焦虑;另一方面也难以适应环境变化,因为在开发过程中,信息需求可能已经发生了变化,系统尚未开发出来可能就已经过期了。
(三)文档化工作复杂:生命周期法在开发的各个阶段中文档很多,工作烦琐,管理费用很高。
(三)缺乏灵活性:开发中途修改方案的困难很大,涉及到的问题很复杂。
*数据流程图的画法一般地说,画DFD应遵循“由外向内,自顶向下”原则进行。
由外向内是指:先标定系统范围。
这个范围就是输入输出之间的部分,该部分的细节暂不考虑。
有时最外部难以表示出来全部数据流,但这不要紧,因为无法表示的内部数据流随着设计过程的深入,逐步会分解、画出并填补上去。
描述系统内部数据流,一般从输入端开始向输出端推进,每当经过使数据流的组成或数值发生变化的地方,就用一个“加工”将其连接起来,这个“加工”正是实现这一数据变化的。
注意,不要把相互无关的数据画成一个数据流,也不要把作为一个处理单位的数据画成两个数据流;如果牵涉到文件,则应表示出“文件”与“加工”的关系(读或写)。
画数据流程图时注意以下两点:1、应该遵照业务处理过程(即前边的结果),将系统调查的资料和整理数据结合起来,在绘制的过程中不断地与相应的调查记录、数据记录对照,以便能及时发现诸如数据不匹配,流通渠道不畅,处理过程不合理之类的问题。
2、由于实际数据处理过程常常比较繁杂,故应该按照系统的观点,自顶向下地分层展开绘制,即先将比较繁杂的处理过程(不管有多大)当成一个整体处理块来看待(俗称“黑匣子”);然后绘出周围实体与这个整体块的数据联系过程;然后再进一步将这个块展开,如果内部还涉及到若干个比较复杂的数据处理部分的话,又将这些部分分别视为几个小“黑匣子”,同样,先不管其内部,只分析它们之间的数据联系。
这样反复下去,依此类推,直至最终搞清了所有问题为止,也有人将这个过程比喻为使黑匣子逐渐变“灰”,直到“半透明”和“完全透明”的分析过程。
3、数据流程图举例我们在前边示例中,调查分析该企业财务科数据流程、业务流程及其组织结构图,然后根据其组织结构图(图3.9)从上至下展开, 画出各自的数据流程图。
如图3.14,然后将3.14分解细化为图3.15。
在图3.15的基础上,画出第一层对应的数据流程图,如图3.16(a)-(d)。
图3.15的每个处理对应图3.16中的一个数据流程图。
图3.13 结构化分析方法的示意图图3.14 会计核算顶层图图3.15 会计核算零层图结构化分析示例 4.一层图(1)部门资料图3.16(a)材料核算结构化分析示例 4.一层图(2)考核标准图3.16(b)工资核算结构化分析示例 4.一层图(3)燃料汇总表3.16(c)成本核算结构化分析示例 4.一层图(4)成本历史文件财务标准文件3.16(d)综合分析*画数据流程图的注意事项1.数据守恒数据守恒是指输入数据与输出数据匹配。
数据不守恒有两种情况。
一种是某个处理过程用以产生输出的数据,没有输入给这个处理过程,这肯定是遗漏了某些数据流。
另一种是某些输入在处理过程中没有被使用。
2.父子平衡逐步扩展数据流程图,是对上层图(父图)中某些处理框加以分解,下层图(子图)是上层图中某个处理框的“放大”。
父图中某一处理框的输入,输出数据流必须出现在相应的子图中,否则就会出现父图与子图的不平衡,父图与子图的关系,类似于全国地图与各省地图的关系。
在全国地图上标出的主要的铁路、河流,在各省地图上则标得更详细,除了有全国地图上与该省相关的铁路、河流之外,还有一些次要的铁路、公路、河流等,如在上图3.15零层图中的材料核算共有三个入口,表现在图3.16(a)只有三个入口,上下表示是一致的。
3.均匀分解如果在一张数据流程图中,某些处理已是基本加工,而另一些却还要进一步分解三四层,这样的分解就不均匀。
不均匀的分解不易被理解,因为其中某些部分描述的是细节,而其他部分描述的是较高层的功能。
遇到这种情况,应重新考虑分解,努力避免特别不均匀的分解。
4.适当命名数据流程图中各种成分的命名与易解性有直接关系,所以应注意命名适当。
特别是处理框的命名应能准确地表达其功能,理想的命名由一个具体的动词加一个具体的名词组成,在下层尤其应该如此,例如“工资计算”、“材料分配”等。
画出数据流程图,要验证其正确性。
对一个大型系统不可能一开始就十全十美的,要经过逐步去粗取精,去伪存真的改进过程。
(四)汇总数据流程图通过对数据流程分析,揭示出现行系统具有四个主要处理:成本核算、材料核算、工资核算和综合分析。
我们从上至下对数据流程图进行汇总,确定该系统的逻辑模型如图3.17。
在数据流程图中显示出系统当前使用的数据存储有:部门资料、考核标准、产品明细表、工时比例标准、工资文件、其它计算标准、成本历史文件、财务标准文件。
这些数据存储文件的内涵应在数据字典中进行详细描述。
三、数据字典DFD表达了数据与处理的关系,数据字典(data dictionary,,DD)则是对系统中的数据的详尽描述,它提供对数据库数据描述的集中管理,目的是对收集到的数据进行标准化、统一化,有统一的名称、格式和含义。
数据字典除保存数据名、类型、长度、精度等有关信息外,还包括数据流向的描述和加工的描述,显然数据字典可供设计者和用户双方参照使用,它为系统设计人员提供了一个有力的工具。
单独的DFD和单独DD都没有任何意义,只有两者结合在一起,加上必要的说明才能构成“系统说明书”。
DD产生于数据流图,是对数据流图中的数据流、数据项、文件和加工等描述的产物。
(一)概述系统分析中所使用的数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和外部实体。
数据字典把数据的最小组成单位看成是数据项(数据元素),若干个数据项可以组成一个数据结构(组合数据项)。
数据结构是一个递归概念,即数据结构的成分也可以是数据结构。
数据字典通过数据项和数据结构来描写数据流,数据的存储的属性,它们之间的关系如3.18所示图3.18数据结构与数据项数据项组成数据结构,数据结构组成数据流和数据存储。
建立数据字典的工作量很大,相当繁琐,但这是一项必不可少的工作。
数据字典在系统开发中具有十分重要的意义,不仅在系统分析阶段,而且在整个研制过程中以及今后系统运行中都要使用它。
数据字典可以用人工方式建立,事先印好表格,填好后接一定顺序排列,就是一本字典。
也可以结合手工的整理,存贮在计算机内,这样使用、维护都比较方便。
(二)数据字典的内容与示例数据字典中所包括的项目有六类:数据项、数据结构、数据流、处理逻辑(加工)、数据存储文件、外部实体。
不同类型的项目有不同的属性需要描述,现分别说明如下:1、数据项数据项也称数据元素,是具有独立逻辑含义的最小数据单位,即逻辑上不可再分的数据单位,如学号、姓名等。
对每个数据项的定义包括以下内容:①数据项的名称、编号、别名和简述;②数据项的数值范围,如“工资”从200元到500元;③数据项的长度,如“姓名”可以用四个汉字,即八个字节组成。
为了使用方便,可将多个数据项描述在同一表格内,表3.8数据项描述在同一表格内。
表3.8 数据项定义2、数据结构由若干个数据项构成的数据组合称为数据结构,它描述了某些数据项之间的关系。
一个数据结构可以由若干个数据项组成;也可以由若干个数据结构组成;还可以由若干个数据项和数据结构组成。