软件工程05325

上传人:marr****208 文档编号:149761674 上传时间:2020-10-29 格式:DOC 页数:10 大小:57.50KB
返回 下载 相关 举报
软件工程05325_第1页
第1页 / 共10页
软件工程05325_第2页
第2页 / 共10页
软件工程05325_第3页
第3页 / 共10页
软件工程05325_第4页
第4页 / 共10页
软件工程05325_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《软件工程05325》由会员分享,可在线阅读,更多相关《软件工程05325(10页珍藏版)》请在金锄头文库上搜索。

1、第一章软件工程概论1. 软件工程的目的:倡导以工程的原理、原则和方法进行软件开发,以解决当时出现的软件危机。2. 软件危机:在计算机软件开发和维护过程中所遇到的一系列问题。3. 软件及组成:计算机系统中的程序和文档称为软件,程序是计算机任务的处理对象和处理规则的描述,文档是为了理解程序所需的阐述性资料。4. 软件工程定义:软件工程是一类求解软件的工程,它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降低成本的目的。其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。软件

2、工程是一门指导计算机软件开发和维护的工程学科。5. 软件工程框架及其内容:目标、活动和原则。软件工程的目标为,生产具有正确性、可用性以及开销合宜的产品。软件工程活动定义为,生产一个最终满足需求且达到工程目标的软件产品所需要的步骤,主要包括需求、设计、实现、确认以及支持等活动。软件工程设计原则为,选取适宜的开发模型,采用合适的设计方法,提供高质量的工程支持,重视开发过程的管理。6. 软件工程研究的内容:软件开发模型、软件开发方法、软件过程、软件工具、软件开发环境、计算机辅助软件工程(CASE)、软件经济学等。7. 软件开发方法学定义:是一种已定义好的技术集和符号表示习惯,来组织软件开发的过程,一

3、般表示为一系列步骤,包括结构化方法、面向对象方法、Jackson方法等等。第二章 软件开发模型1. 软件开发模型定义:是软件开发全部过程、活动和任务的结构框架。2. 瀑布模型内容及特点:瀑布模型将软件生存周期的各项活动规定为依固定顺序连接的软干阶段工作,是一种线性模型。各阶段活动为,提出系统需求、提出软件需求、需求分析、设计、编码、测试和运行。每个开发阶段具有以下特征,从上一阶段接受本阶段工作的对象作为输入,对上述输入实施本阶段的活动,给出本阶段的工作成果作为输出传入下一阶段,对本阶段工作进行评审,若本阶段工作得到确认,则继续下阶段工作,否则返回前一阶段甚至更前阶段。瀑布模型最为突出的缺点是该

4、模型缺乏灵活性。3. 演化模型内容及特点:演化模型主要针对事先不能完整定义需求的软件开发,其开发过程一般是首先开发核心系统,当核心系统投入运行后,软件开发人员根据用户的反馈,实施开发的迭代过程,每一迭代过程均由需求、设计、编码、测试、集成等阶段组成,直到软件开发结束。演化模型在一定程度上减少了软件开发活动的盲目性。4. 螺旋模型内容及特点:它是在瀑布模型和演化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型。沿螺旋模型顺时针方向,依次表达了四个方面的活动,制定计划、风险分析、实施工程、客户评估。5. 喷泉模型内容及特点:它体现了软件创建所固有的迭代和无间隙特征,喷泉模型主要用于支

5、持面向对象开发过程。6. 增量模型内容:在设计了软件系统整体体系结构之后,首先完整的开发系统的一个初始子集,继之,根据这一子集,建造一个更加精细的版本,如此不断的进行系统的增量开发。7. 瀑布模型、演化模型、螺旋模型之间的联系:相同点是这三个模型都分为多个阶段,而瀑布模型一次完成软件,演化模型分为多次完成,每次迭代完成软件的一个部分,螺旋模型也分为多次完成,每次完成软件的一个新原型,并考虑风险分析。8. 演化模型和增量模型之间的区别演化模型首先开发核心系统,每次迭代为系统增加一个子集,整个系统是增量开发和增量提交,增量模型首先完整的开发系统的一个初始子集,然后不断的建造更精细的版本。第二章 结

6、构化需求分析1. 需求分析阶段的目标、承担人,以及划分阶段:需求分析阶段位于软件开发的前期,它的基本任务是准确地定义未来系统的目标,确定为了满足用户的需要系统必须做什么,需求分析工作通常由系统分析员来承担,需求分析分为两个阶段,需求获取阶段和需求规约阶段,另外,需求关心的是系统目标而不是系统实现。2. 需求获取通常面临三大挑战:问题空间理解、人与人之间的通信、需求的不断变化。3. 用户需求的分类及内容:可以分为两大类,功能性需求和非功能性需求,前者定义了系统做什么,后者定了系统工作时的特性。4. 需求获取的基本原则及内容:需求获取过程中,划分、抽象和投影是人们常用的组织信息的三条基本原则,划分

7、捕获问题空间的“整体/部分”关系,抽象捕获问题空间的“一般/特殊”或“特例”关系,投影捕获问题空间的多维“视图”。5. 用况(use-case)及其内容,用况之间的关系:一个用况表示了一个系统、一个子系统或其他语义实体所提供的“一块”高内聚的功能,这样的功能是通过该语义实体与一个或多个外部交互者(称为参与者)之间所交换的消息序列,以及该语义实体所执行的一些动作予以表现的,用况之间的关系为,包含、扩展、泛化。6. 作为一个好的需求获取技术的显著特征:方便通信(可以通过易于理解的语言),提供定义系统边界的方法,提供定义划分、抽象和投影的方法,鼓励分析员用问题空间的术语而不是软件术语去思考问题和编制

8、文档,允许并提醒分析员有多种可供选择的设计方案,适应需求的变化。7. 需求规约的目的:是对需求定义进行分析,解决其中存在的二义性和不一致性,并以一种系统化的形式准确地表达用户的需求,形成所谓的需求规格说明书。8. 结构化方法及其手段:结构化方法是一种系统化开发软件的方法,该方法基于模块化的思想,采用“自顶向下,逐步求精”的技术对系统进行划分,分解和抽象是它的两个基本手段,结构化方法是结构化分析、结构化设计和结构化编程的总称。9. 结构化分析模型的组成及详细内容:(本章重点,涉及综合应用) (1)结构化分析模型及内容:数据流图(DFD)是一种描述数据变换的图形工具,是结构化分析方法最普遍采用的表

9、示手段,数据字典和小说明为数据流图提供了补充,并用以验证图形表示的正确性、一致性和完整性,以上三者构成了结构化分析的模型。 (2)结构化分析方法的基本内容:数据流图是一种描述数据变换的图形工具,系统接受输入的数据,经过一系列的变换(或称加工),最后输出结果数据,数据流图由以下四个基本成分组成,加工、数据流、数据存储、数据源和数据潭,这四个基本成分是结构化设计方法为表达系统模型的基本概念,这些符号可以覆盖客观世界的一切事物。加工是对数据进行处理的单元,用圆圈表示;数据流表示数据和数据流向,用箭头表示;数据存储用于表示信息的静态存储,用两条平行线表示;数据源和数据潭表示系统和环境的接口,是系统之外

10、的实体,数据潭是数据流的最终目的地,数据源和数据潭用矩形表示。加工的命名原则,顶层的加工名就是软件项目的名字,加工的名字最好使用动宾词组(例:计算费用、准备机票),也可以用主谓词组(例:费用计算、机票准备),不要使用意义空洞的动词作为加工名(例:计算、准备)。数据流表示数据的数据流向,通常由一组数据项组成,数据流有三种流向,数据流可以从加工流向加工,也可以从数据源流向加工或从加工流向数据潭,数据流还可以从加工流向数据存储或从数据存储流向加工,两个加工之间可以有多个数据流,这些数据流之间没有任何联系,数据流图也不表明它们的先后次序。数据流(数据存储)命名的方法和注意事项,数据流(数据存储)的名字

11、用名词或名词词组,数据流模型是现实系统的抽象,命名时应尽量使用现实系统中已有的名字,把现实环境中传递的一组数据中最重要的那个数据的名字作为数据流(数据存储)的名字,不要把控制流作为数据流,不要使用意义空洞的名词作为数据流名。 (3)数据字典和小说明:数据字典以一种准确的和无二义的方式定义所有被加工引用的数据流和数据存储,通常包括三类内容,数据流条目、数据存储条目、数据项条目。小说明是用来描述底层加工的,小说明集中描述一个加工的输入数据和输出数据的逻辑关系,即加工逻辑,小说明并不描述具体的加工过程,小说明一般用自然语言、结构化自然语言、判定表和判定树等来描述。结构化自然语言的语法通常分为内外两层

12、,外层语法描述操作的控制结构,内层语法用自然语言描述。判定表分为四个区,一区内列出所有的条件类别,二区内列出所有的条件组合,三区内列出所有的操作,四区内列出在相应的组合条件下某个操作是否执行或执行情况。 (4)建立系统模型的步骤:结构化分析从本质上说是一种运用抽象和分解技术,“自顶向下,逐步求精”的过程,首先确定系统边界,画出系统环境图,自顶向下,再画出各层数据流图,定义数据字典和小说明,最后汇总前面各步骤的结果。 (5)建立系统模型的模型平衡规则:数据流图中所有的图形元素必须根据它们的用法规则正确使用,每个数据流和数据存储都要在数据字典中有定义,数据字典将包括各层数据流图中数据元素的定义,数

13、据字典中的定义使用合法的逻辑构造符号,数据流图中最底层的加工必须在小说明中有定义,父图和子图必须平衡,小说明和数据流图的图形表示必须一致。 (6)建立系统模型控制复杂性的一些规则:上层数据流可以打包,上、下层数据流的对应关系用数据字典描述,同层的数据流也可以编号对应,包内流的性质(输入/输出)必须一致,为了便于人的理解,把一幅图中的图元个数控制在72以内,检查同每个加工相关的数据流,并寻找是否有其他可降低界面复杂性的划分方法,分析数据内容,确定是否所有的输入信息都用于产生输出信息,相应的,有一个加工产生的所有信息是否都能由进入该加工的信息导出。 (7)结构化分析的基本步骤:通过对现实系统的了解

14、和分析,或基于需求陈述,建立该系统的数据流图,基于得到的数据流图,建立该系统的数据字典,基于得到的数据流图,对最底层的加工给出其控制结构描述,依据需求陈述,建立人机接口和其他性能描述,通过分析和验证,建立系统完整的需求规约。10.需求验证及其内容:需求验证就是对软件需求规格说明书(SRS)加以验证,需要从以下方面进行,正确性,无二义性,完整性,可验证性,一致性,可理解性,可修改性,可被跟踪性,可跟踪性,设计无关性,注释。11.需求分析规格说明书及其作用:需求分析规格说明书是需求分析阶段产生的一份最重要的文档,它以一种一致的、无二义的方式准确的表达用户的需求,它起到三方面的作用,作为软件开发机构

15、和用户之间一份事实上的技术合同书,作为软件开发机构下一步进行设计和编码的基础,作为测试和验收目标系统的依据。12.用符号“+”、“|”、“”表达的完备的数据结构:根据Jackson理论,所有数据结构分为三类,顺序、选择、循环,以上三种符号恰好对应了三种数据结构。13.系统需求规格说明书的基本结构:引言、概述、数据流图与数据字典、接口、性能需求、属性、其他需求。本章设计题为DFD建模,为笔试和试验的必考题型,非常重要,考生可参考辅导第264页“建模题”,其中面向对象部分将在后面文章中提及,首先应把重点放在DFD的建立以及定义DD和小说明上。第三章 结构化设计1. 软件设计阶段的主要任务、方法、阶

16、段:需求分析阶段的主要任务是确定系统必须“做什么”,形成软件的需求规格说明书,软件设计阶段的主要任务是确定系统“怎么做”,从软件需求规格说明书出发,形成软件的具体设计方案,软件设计可以采用多种方法,如结构化设计方法、面向数据结构的设计方法、面向对象的设计方法等,结构化软件设计可以分为总体设计和详细设计两个阶段。2. 总体设计阶段的主要任务及其内容:总体设计阶段的主要任务是把系统的功能需求分配给软件结构,形成软件的模块结构图(MSD),在结构图中矩形表示功能单元,称为“模块”,连接上下层模块的线段表示它们之间的调用关系,在总体设计阶段,每个模块还处于黑盒子级,模块通过外部特征标识,名字、输入、输出。3. 总体设计的表示形式及其内容(层次图、HIP

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号