版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
wordword/17软件危机的概念,内容,原因与消除的途径;软件危机的概念:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。概括地说,软件危机包含两方面问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机产生的原因:软件本身的复杂性、难衡量的特点; 2.软件开发与维护的方法不正确。消除软件危机的途径:〔1〕对计算机软件应当有一个正确的认识;〔2〕应当有组织、有计划、通过严格的管理手段进展软件的开发;〔3〕与时总结软件开发的成功技术和方法并加以推广;〔4〕开发和使用更好的软件工具;总之,为了解决软件危机,既要有技术措施,又要有必要的组织管理措施。软件工程的定义,根本原理;定义:软件工程是指导计算机软件开发和维护的一门工程学科。根本原理:软件工程的7条根本原理:〔1〕用分阶段的生命周期计划严格管理〔2〕坚持进展阶段评审〔3〕实行严格的产品控制〔4〕采用现代程序设计技术〔5〕结果应能清楚地审查〔6〕开发小组的人员应该少而精〔7〕承认不断改良软件工程实践的必要性软件工程方法学的根本概念、内容;传统根本概念:把在软件生命周期全过程中使用的一整套开发和管理技术方法的集合成为软件工程方法学,也称为X型。软件工程方法学包含3个要素:方法、工具和过程。内容:目前使用得最广泛地软件工程方法学,分别是传统方法学和面向对象方法学。传统方法学也称为生命周期方法学或结构化 X型。软件生命周期的具体内容,每一个阶段的任务是什么?结合具体的工程例子来理解做软件项目主要分那几个个阶段。问题定义:确定要求解决的问题是什么可行性研究:决定该问题是否存在一个可行的解决方法需求分析:深入了解用户的要求,在要开发的目标系统必须做什么问题和用户取得完全一致的看法。概要设计:概括回答怎样实现目标系统。概要设计又叫逻辑设计、总体设计、高层设计。详细设计:把解法具体化,设计出程序的详细规格说明。详细设计也叫模块设计、底层设计。
编码和单元测试:编写程序的工作量只占软件开发全部工作量的 10%^20%。综合测试:软件测试的工作量通常占软件开发全部工作量的 40沧50%。软件维护:软件维护的费用通常占软件总费用的 55%-70%①②③为软件定义时期,④⑤⑥⑦为软件开发阶段。④⑤为系统设计,⑥⑦为系统实现。理解几个典型软件过程的内容与其优点与缺点:瀑布模型、增量模型、快速原型模型、螺旋模型、喷泉模型等;瀑布模型内容:瀑布模型是带 反响环〃的。优点:〔1〕可强迫开发人员采用的规X的方法〔结构化技术〕。〔2〕严格地规定了每个阶段必须提交的文档。〔3〕要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。缺点:瀑布模型是由文档驱动的。〔1〕开发过程一般不可逆,否如此代价太大。〔2〕实际的项目开发过程很难严格按照模型进展。〔3〕客户往往很难清楚地给出所有需求,而该模型却要求如此。〔4〕软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。快速原型模型是快速建立起来的可以在计算机上运行的程序, 它所能完成的功能往往是最终产品能完成的功能的一个子集。不带反响环优点:软件产品的开发根本上是线性顺序进展的。〔1〕可以得到比拟良好的需求定义,容易适应需求的变化。〔2〕有利于开发与培训的同步。〔3〕开发费用低、开发周期短且对用户更友好。缺点:〔1〕客户与开发者对原型理解不同。〔2〕准确的原型设计比拟困难。〔3〕不利于开发人员的创新。增量模型也称为渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。优点:在较短时间内可以向用户提交可完成局部工作的产品, 逐步增加产品功能可以使用户有比拟充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲〔1〔1〕〔2〕〔3〕
缺点:〔2〕如果核心产品很受欢迎,如此可增加人力实现下一增量。可先发布局部功能给客户,对客户起到镇定剂的作用。〔1〕并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而使软件过程失去整体性。螺旋模型的根本思想是使用原型与其他方法来尽量降低风险。 理解这种模型的一种简便方法是把它看做在每个阶段之前都增加了风险分析过程的快速原型模型。优点:〔1〕设计上的灵活性,可以在项目的每个阶段进展变更。〔2〕以笑得分段来构建大型系统,使本钱计算变得简单容易。〔3〕客户始终参与每个阶段的开发,保证项目不偏离正确的方向一击项目的可控性。〔4〕随着项目的推进,客户始终掌握项目的最新信息,从而他能够和管理层有效地交互。缺点:〔1〕采用螺旋模型需要具有相当丰富的风险评估经验和专门知识, 在风险较大的项目开发中,如果未能够与时标示风险,势必造成重大损失;〔2〕过多的迭代次数会增加开发本钱,延迟提交时间。喷泉模型:喷泉模型与传统的结构化生存期比拟,具有更多的增量和迭代性质,生存期的各阶段可以相互重叠和屡次反复,而且项目的整个生存期中还可以嵌入子生存期。就像水喷上去又可以落下来,可以落在中间,还可以落在底部。了解可行性研究中的任务和过程;用最小的代价在尽可能短的时间内确定问题是否能够解决。 不是解决问题,而是确定问题是否值得去解决。可行性研究的根本任务:对以后的行动方案提出建议。实质:一次大大压缩简化了的系统分析和设计。任务:1•初步确定项目的规模,目标,约束和限制。2•在澄清了问题定义之后,分析员应该导出系统的逻辑模型。3•从系统逻辑模型出发,探索假如干种可供选择的主要解法 (即系统实现方案)。4•对每种解决方法都要研究它的可行性。 (技术可行性、经济可行性、操作可行性 )过程:1•复查系统规模和目标访问关键人员,描述目标系统的限制和约束。2•研究目前正在使用的系统:现有系统的问题。3•导出新系统的高层逻辑模型。4•进一步定义问题。5•导出和评价供选择的解法。6•推荐行动方针。7•草拟开发计划。。掌握系统流程图的概念和方法,会从具体的案例中抽象出系统流程图 (p38)掌握数据流图的概念和方法,会从具体的案例中画出 0层数据流图和功能级
数据流图(P40)掌握数据字典的内容、方法、用户和实现(p47)内容:数据字典由4类兀素定义组成。〔1〕数据流;〔2〕数据流分量〔即数据兀素〕〔3〕数据存储;〔4〕处理;定义数据的方法:数据字典中的定义就是对数据自顶向下的分解。由数据元素组成数据的方式只有下述 3种根本类型:顺序选择重复用途:作为分析阶段的工具。实现:P49了解本钱/效益分析方法(p50)货币的时间价值FP(1i)n其中P为初始投资,i为年利率,F为第n年底P的值投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间纯收入:整个生存周期之内的累计经济效益折成现在值-投资。n年。投资回收率:现在的投资额 P和估算出的将来每年的收益 Fn,n年。Fl F2f-3 Fn-+ .+ «+討kHl—1+j(i+/fd+y) (i+./r了解需求分析过程中任务是什么.(p47)功能需求。指定系统必须提供的服务性能需求。指定系统必须满足的定时约束或容量约束可靠性和可用性需求。应定量指定出错处理需求。指环境错误,非系统本身的错误。接口需求。常见的接口需求有:用户接口需求、硬件接口需求、软件接口需求、通信接口需求。约束。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。逆向需求。说明软件系统不应该做什么。将来可能提出的要求。3.导出系统的逻辑模型。用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。4•修正系统开发计划。用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。理解面向数据流自顶向下逐步求精的方法和意义; (p59)结构化分析方法就是面向数据流自顶向下逐步求精进展需求分析的方法。 通过可行性研究已经得出了目标系统的高层数据流图, 需求分析的目标之一就是把数据流和数据存储定义到元素级。方法:为了达到这个目标,通常从数据流图的输出端着手分析, 这是因为系统的根本功能是产生这些输出,输出数据决定了系统必须具有的最根本的组成元素。意义:〔1〕对数据流图细化之后得到一组新的数据流图, 不同的系统元素之间的关系变得更清楚了。〔2〕对这组新数据流图的分析追踪可能产生新的问题, 这些问题的答案可能又在数据字典中增加一些新条目,并且可能导致新的或精化的算法描述。〔3〕随着分析过程的进展,经过提问和解答的反复循环, 分析员越来越深入具体地定义目标系统,最终得到对系统数据和功能要求的满意了解。理解分析与建模的意义,需求分析中应该建立哪三种模型?有哪些工具来帮助建立这些模型?需求分析需要建立三种模型:数据模型:实体-联系图E—R〔数据对象(即实体)之间的关系〕功能模型:数据流图DFD〔系统对数据进展变换的功能〕行为模型:状态转换图 〔系统的各种状态〔行为模式〕与状态之间的转换〕掌握实体关系(E-R)图的概念,内容和实现方法,能结合具体实例建立实体关系图;(P62)15.掌握状态图的概念,内容,实现方法和作用;(p65)16.掌握层次方框图、warnier图、IPO图的概念,内容和作用(p68)有穷状态机的概念和内容;Petri的概念;〔P77〕有穷状态机:状态集、输入集、转换函数、初始态、终态集Petri:P82总体设计是做什么?总体设计的过程是怎样的?〔 P91〕总体设计的目标是将需求分析阶段定义的系统模型转换成相应的软件结构, 以规定软件的形态与各成分间的层次关系、界面与接口要求。总体设计通常由两个过程组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。9•省查和复审掌握软件设计的几个设计原理,理解他们的内容和意义; (p94)1)模块化就是把程序划分成独立命名且可独立访问的;2〕抽象;3〕逐步求精;4〕信息隐藏和局部化;5〕模块独立;它有两个定性标准度量:内聚和耦合。掌握耦合和内聚的概念和内容,理解这些原理对设计有哪些指导意义;耦合:耦合是对一个软件结构内不同模块之间互连程度;内聚:内聚标志着一个模块内各个元素彼此结合的严密;耦合是影响软件复杂程度的一个重要因素。 设计时力争做到高内聚,并且能够识别出低内聚的模块,有能力通过修改设计提高模块的内聚程度并且降低模块间的耦合程度, 从而获得较高的模块独立性。耦合包含了哪些类型?每个类型的具体内容是什么?〔由低到高〕〔1〕非直接耦合:就是没有耦合。〔2〕数据耦合:就是参数传递耦合,它属于低级别耦合。〔3〕标记耦合:标记耦合指两个模块之间传递的是数据结构。〔4〕控制耦合:它属于中级别耦合,比如调度程序与进程之间的耦合,就是控制耦合。〔5〕外部耦合:属于高级别耦合〔6〕公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。〔7〕内容耦合:属于最高级别耦合,例如,一个模块利用分支或跳转技术,转入到另一个模块中去执行,就是内容耦合。启发性规如此的内容与局部概念。3•深度、宽度、扇出和扇入都应适当层次图、HIPO图和结构图的内容;〔p102〕掌握面向数据流的设计方法,怎样用变换分析法基于数据流图设计出软件总体结构?了解其中涉与到的概念,结合例子理解具体是怎么做的。 (p104)概念:面向数据流的设计方法把信息流映射成软件结构, 信息流决定了映射的方法,信息流有两种类型:1、信息沿输入通路进入系统, 同时由外部形式变换成内部,进入系统的信息通过变换中心,经过加工处理以后再沿输出通路变换成外部形式离开软件系统。当数据流图具有这些特征时,这种信息流就叫做变换流。2、数据沿输入通路到达一个处理 T,这个处理根据输入数据的类型在假如干个动作序列中选出一个来执行。这类数据流应该划为一类特殊的数据流,称为事务流。详细设计是做什么?(p117)详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统, 即经过这个阶段的设计工作,应该得出对目标系统的准确描述, 从而在编码阶段可以把这个描述直接翻译成用某些程序设计语言书写的程序。什么是结构程序设计?(p117)结构程序设计是尽可能少用 GOTO语句的程序设计方法,最好仅在检测出错误时才使用GOTO语句,而且应该总是使用前向 GOTO语句。人机界面设计问题包含哪些?(p122)1、系统响应时间;2、用户帮助设施;3、出错信息处理;4、命令交互掌握设计过程中用到的工具:程序流程图的概念,内容和方法;盒图的概念、
内容和方法;会结合实例使用这些工具;掌握判定表的概念和内容。要结合实例来掌握它们PAD图的概念和内容;掌握〔P124〕PAD图的概念和内容;掌握〔P124〕(P130)如何度量程序算法的复杂性?(p136)掌握几种测试:单元测试、集成测试、确认测试、白盒测试技术和黑盒测试技术;掌握它们的概念,内容和方法;〔P146〕理解软件维护的定义、特点和维护过程;〔P189〕定义:在软件已交付使用之后,为了改正错误或满足新的需要而修改软件的过程。特点:〔1〕结构化维护与非结构化维护差异巨大〔2〕维护的代价高昂〔3〕维护的问题很多维护过程:1、维护组织2、维护报告3、维护的事件流4、保存维护记录5、评价维护活动。掌握面向对象方法学的要点,理解面向对象方法学的优点; 〔P203〕四个要点:对象、类、继承、消息优点:1、与人类习惯的思维方法一致2、 稳定性好3、 可重用性好4、 较易开发大型软件产品5、 可维护性好6、 掌握面向对象的概念;掌握面向对象的概念;〔P209〕对象〔对象的形象表示,对象的定义,对象的特点〕其他概念〔类,实例,消息,方法,属性,封装,继承,多态性,重载〕TOC\o"1-5"\h\z面向对象建模是建立哪三个模型?它们的具体内容是什么?〔 P215〕1、描述系统数据结构的对象模型〔类图〕 :表示静态的、结构化的系统的“数据〃性质。它是对模拟客观世界实体的对象彼此间的关系的映射,描述了系统的静态结构。2、描述系统控制结构的动态模型〔状态转换图〕 :动态模型表示瞬时的,行为化的系统的“控制"性质,它规定了对象模型中的对象的合法变化序列。3、描述系统功能的功能模型〔用例图,数据流图〕 :功能模型表示变化的系统的 “功能〃性质,它指明了系统应该“做什么〃,因此更直接地反映了用户对目标系统的需求。建立对象模型的内容是什么?〔 P235〕建立对象模型,需要定义一组图形符号,并且规定一组组织这些符号以表示特定语义的规如此。也就是说,需要用适当的建模语言来表达模型, 建模语言由记号〔即模型中使用的符号〕和使用记号的规如此〔语义、语法和语用〕组成。掌握用UML提供的类图来建立对象模型的方法。理解类图的定义、根本符号和具体内容;类图建立对象模型的方法:1、疋义类2、疋义属性3、疋义服务4、疋义类与类之间的各种关系〔关联、泛化、依赖和细化〕 。UML3UML3个区域根本符号:UML中类的图形符号为长方形,用两条横线把长方形分成上、中、下〔下面两个区域可省略〕3个区域分别放类的名字、属性和服务。能结合实例掌握类图中类与类之间的关系:关联、泛化〔继承〕、依赖和细化能根据实例情况正确判断出类与类之间的具体关系类型关联:关联表示两个类的对象之间存在某种语义上的联系。泛化(继承):UML中的泛化关系就是通常所说的继承关系, 它是通用元素和具体元素之间的一种分类关系。具体元素完全拥有通用元素的信息, 并且还可以附加一些其他信息。 泛化关系指出类与类之间存在“一般-特殊'’关系。泛化可进一步分成普通泛化和受限泛化。依赖:描述两个模型元素〔类、用例等〕之间的语义连接关系:其中一个模型元素是独立的,另一个模型元素不是独立的,它是依赖于独立的模型元素, 如果独立的模型元素改变了,将影响依赖于它的模型元素。细化:当对同一个事物在不同抽象层次上描述时,这些描述之间具有细化关系。动态模型的概念、内容;〔P223〕概念:动态模型表示瞬时的、行为化的系统的“控制"性质,它规定了对象模型中的对象的合法变化序列。内容:动态模型是基于事件共享而互相关联的一组状态图的集合。功能模型的概念、内容和建立功能模型的方法; 〔P224〕概念:功能模型表示变化的系统的 “功能〃
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年应急管理培训考试试题
- 初中英语七年级下册Unit1 Can you play the guitar 词汇拓展与语境应用教案
- 初中数学八年级下册《一次函数在限定区间上的最值问题》探究式教案
- 核心素养导向下的初中化学中考真题深度解析与复习教学方案
- 素养导向的初中英语七年级下册第一单元整合教学教案
- 2026中国母婴渠道有机干果辅食产品开发策略报告
- 2026年医师定期考核通关试卷附答案详解【巩固】
- 2026年内分泌综合提升练习试题及参考答案详解(预热题)
- 2026年电焊工考证考试题库及完整答案详解(网校专用)
- 灾后重建区中小学教师教育技术能力培训模式探究
- 人教版高中地理必修二知识点高考复习大纲
- 广西高等职业教育考试(新职教高考)《语文》模拟试卷 (第44套)
- DB2201-T 45-2023 政务服务场所建设规范
- 《金属冶炼安全培训》课件
- 2024建筑安全员《C证》考试题库及答案
- 2024年上海市上海中学高三语文月考作文题目解析及相关范文:区别对待才公平
- 肛肠病术后并发症
- HSK标准教程1-第一课lesson1
- 教师书香个人读书先进事迹材料
- 2024年山东省高考物理+化学+生物试卷(真题+答案)
- 数字孪生在精细化工中的应用
评论
0/150
提交评论