文档库 最新最全的文档下载
当前位置:文档库 › 软件工程建立模型

软件工程建立模型

软件工程建立模型
软件工程建立模型

(一)建立对象模型。

建立对象模型的工作步骤是:首先确定对象类和关联。分析员通过分析这些类和对象,找出所有候选的类和对象,从类和对象中筛选掉不正确的或者不必要的。

第二步分析员要确定关联关系。这个过程要初步确定关联在筛选,最后进一步完善。

第三步要划分主题,用它作为指导开发者和用户观察整个模型的一种机制。

第四步是要确定属性。确定属性通常有分析和选择两个步骤,分析是在分析需求陈述不能得到所有属性,还须借助领域知识和常识。而选择要根据下述情况,删除不必要的属性:

(1)误把对象当属性(考虑实体能否独立存在)

(2)误把关联类的属性当作一般对象的属性

(3)存在与其他属性毫无相关的属性时考虑分解类。

第五步是识别继承关系。确定了类中应该定义的属性之后就可以利用继承机制共享公共属性,并对系统中众多的类加以组织。可以使用两种方式建立继承(泛化)关系:

(1)自底向上:从现有类泛化出父类;

(2)自顶向下:把现有类细化成子类。

最后一步是要反复修改。仅仅经过一次建模过程很难得到完全正确的对象模型,而软件开发过程是一个多次反复修改逐步完善的过程

(二)建立动态模型。

建立动态模型的步骤:

(1)第一步,是编写典型交互行为的脚本。编写脚本的目的:保证不遗漏重要的交互步骤。

(2)第二步,从脚本中提取出事件,确定触发每个事件的动作对象,以及接受事件的目标对象。

(3)第三步,排列事件发生的次序,确定每个对象可能有的状态及状态之间的转换关系,并用状态图描绘它们。

(4)第四步,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。

(三)建立功能模型。

功能模型表明了系统中数据之间的依赖关系,及有关的数据处理功能,它由一组数据流图组成。步骤如下:画出基本系统模型图;画出功能级数据流图;描述处理框功能。

软件、软件工程的基本概念和特点

2017-2018 学年第一学期第四次作业 专业:计算机科学与技术班级:17级3班学号:1701110140姓名:任亚磊 作业内容: 简述软件、软件工程的基本概念和特点 软件: 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操作信息的数据结构;文档是与程序开发,维护和使用有关的图文资料。 软件的特点: 1.软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性 2.软件的生产和硬件不同,在它的开发过程中没有明显的制造过程、没有磨损 3.在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。 4.软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同的依懒性 5.软件的开发至今尚未完成摆脱手工艺的开发方式,没有实现自动化 6.软件本身是复杂的、实际问题的复杂性、程序逻辑结构的复杂性 7.软件的成本相当昂贵。 8.相当多的软件工作涉及社会因素。 软件的分类: 1.系统软件:操作系统、数据库管理系统、设备驱动程序、通信处理程序 2.应用软件:商业数据处理软件、工程和科学计算软件、系统仿真软件 软件的其他角度分类: a.按规模划分:微型软件、小型、中型、大型、甚大型、极大型 b.按工作方式划分:实时处理软件、分时软件、交互式软件、批处理软件

c.按软件服务对象的范围划分:项目软件、产品软件 软件生产的发展: 1 程序设计时代:这个阶段生产方式是个体劳动,生产工具是机器语言,汇编语言。(1946-1956年) 2 程序系统时代:这个阶段生产方式是小集团合作生产,生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。(1956-1968年) 3 软件工程时代:这个阶段生产方式是工程化的生产,使用数据库,开发工具,开发环境,网络,分布式面向对象技术来开发软件。(1968年至今) 软件工程: 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。主要包括三个方面的内容:软件开发方法,软件过程和软件工具。 软件工程的原则: 1.抽象2.信息隐蔽3.模块化4.局部化5.确定性6.一致性7.完备性8.可验证性。

软件工程模拟试卷和答案

北京语言大学网络教育学院 《软件工程》模拟试卷一 注意: 1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。请监考老师负责监督。 2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。 3.本试卷满分100分,答题时间为90分钟。 4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。 一、【单项选择题】(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。 1、在软件开发领域中,“描述了实现概念模型的软件解决方案”的系统模型被称为()。 [A] 设计模型[B] 软件模型[C] 实现模型[D] 部署模型 2、一般来说,整个需求的主体是()。 [A] 功能需求[B] 性能需求 [C] 外部接口需求[D] 设计约束 3、总体设计的第二阶段是()。 [A] 初始设计[B] 详细设计[C] 复审阶段[D] 精化设计 4、在模块内聚类型中,常常通过研究流程图确定模块的划分,得到的是()。 [A] 逻辑内敛[B] 顺序内敛[C] 功能内敛[D] 过程内敛 5、一个模块直接控制(调用)的下层模块的数目称为模块的()。 [A] 扇入[B] 扇出[C] 深度[D] 宽度 6、UML术语中,限定符常被用在()。 [A] 依赖关系[B] 泛化关系[C] 关联关系[D] 细化关系 7、UML提供的13种图形化工具中,用于概念模型和软件模型静态结构的是() [A] 用况图[B] 状态图[C] 类图[D] 活动图 8、RUP的迭代、增量式开发规定的4个阶段不包括()。 [A] 评审阶段[B] 构造阶段[C] 移交阶段[D] 精化阶段 9、根据RUP实现的活动,输入为设计类,活动为实现类,则输出为()。 [A] 用况[B] 子系统[C] 接口[D] 构件 10、软件评估可分为静态评估和动态评估,其中属于动态评估技术的是()。 [A] 评审[B] 走查[C] 形式化证明[D] 软件测试 11、黑盒测试技术,又称为()。 [A] 功能测试[B] 结构测试[C] 系统测试[D] 集成测试

软件工程实践者的研究方法(中文版第七版)课后习题答案

作业答案。 2.1 a.设计者对于用户要问的问题: 项目的目标是什么?做到什么程度就成功了?谁会对项目的成功做最后的评判?项目的使用者包括那些? b. 用户对设计者应该问的问题: 目前问题有哪些解决方案,项目完成有哪些难点,在时间范围内能否完成? c. 软件问题用户自问? 还有其他解决方案吗?哪些功能是必须的?乙方资质和能力够吗? d. 软件过程问题自问? 用敏捷还是用瀑布?质量检查点分别有哪些?有几个MileStone? 2.2 为沟通活动设计一系列动作,选定其一并设计任务集。 (批作业的时候,以合理为目标,不一定要一样) 需求获取、需求规范说明(建模)、需求协商、需求确认等。 例如,书上page 23。 2.7 详细描述三个适合用于瀑布模型的软件项目。 (要求学生不仅仅列出项目的名称,而要说明为什么适合) 瀑布模型适合于项目开发而不是产品开发。信息管理系统一般适合于用瀑布模型。因为这类系统业务功能较为明确,架构比较单一,技术难点较少。图书馆系统、销售管理系统都是。 3.11 重构:已经写好的正确的代码,不断修正,使得代码更加精简并易读。 结对编程:两个人同时编写一段代码,一般一个人负责实现,一个人负责检查代码质量。 3.16 利用FDD,为“Web浏览器”定义一系列特征集合与特征。 特征集合模板: an 如:出售一件商品 特征定义模板: the a(n) 特征集合:展示Web页面内容。 特征: 1)本地解析HTML页面 2)展示HTML页面 3)从网络上下载页面相关图片 4)在浏览器上展示图片 附加:统一过程模型的图。 (要求有图有说明)

Jack 人体仿真及建模软件介绍

人机功效评价解决方案 Jack 人体仿真及建模系统 Jack是一个人体建模与仿真软件解决方案,帮助各行业的组织提高产品设计的工效学因素和改进车间的任务。jack最初是由宾夕法尼亚大学的人类模型和模拟中心(Center for Human Modeling and Simulation at the University of Pennsylvania)开发,目前是西门子PLM旗下的一员。使 用Jack可以: 1、建立一个虚拟的环境 2、创建一个虚拟人 3、定义人体大小和形状 4、把人放在环境中 5、给人指派任务 6、分析人体如何执行任务 从jack获得的信息可以帮助您设计更安全、更符合人体工程学的产品、工作场所和更快的流程和使用更低的成本。 第1步:建立一个虚拟的环境 除了人体建模之外,jack还是是一个功能强大的互动性、 实时视景仿真解决方案。您可以导入CAD数据或从草图

开始建立模型,在周围的环境中移动物体,交互式地改变相机的视图和创建特殊效果,以提高您“现场”的真实性。 导入CAD模型-jack可以导入基于VRML,IGES,立体(STL)的和inventor (iv)文件格式的3D 图形数据。此外,软件提供了减小CAD数据的功能来优化模型,用于实时仿真。OpenGL Optimizer的使用可以在不损害视频保真度的情况下相当程度的减少模型的棱角。 在jack中创建几何图形-jack允许您从草图开始建立模型,用于概念设计。您可以创建简单的几何图形,如立方体、球、圆柱、圆锥和圆环。熟练操作后,您可以合并这些简单的图形成为更加复杂的部件,如机械工具和车辆。jack还提供了一套基本的工具(锤子,钳子,梯子,棘轮,锯,螺丝刀和扳手)。 给您的环境一个真实的外观-jack的视图,纹理映射和照明功能,帮助您赋予您的虚拟环境更有说服力的外观。 在jack中可以很容易地改变视图,通过鼠标按钮可以基于一个参考点,水平或垂直或放大“相机”。此外,您也可以将视图参考点定位到指定的对象上,为某些对象加上相机,如人的眼睛,并建立剖视图。使用纹理映射,基础的图像文件,如云彩、公路、工厂内部或机器的控制面板可用于增加视觉细节场景,而不会增加额外的几何形状。jack的经典照明能力,可以帮助您突出环境中的区域和加强场景的真实感。

软件工程试题与答案 (6)

第一章软件工程概述 一. 填空题 1. 软件的发展过程 , , , . 2. 基于软件的工作方式,软件可以划分为 , , , . 3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 . 4. 在计算机系统中,软件是 , 而硬件是 . 5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。 6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。 7. 软件生存期若分为三个大的阶段,, . 8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。 9. 在软件的生存周期开发阶段要经三个步骤 , , 。 10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。 11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,, 和四个步骤。 12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个____ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。 13. 软件开发模型 , , , , , . 14. 软件工程面临的问题有 , , , . 15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 . 16.基于软件的功能划分可以把软件划分为 , ,和。 17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。18.软件工程是指导的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。 19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原则: , ,和 , 。 20.原型模型是从需求分析开始。软件开发者和用户在一起定义,说明需求,并规划出定义的区域。然后快速设计软件中对用户/客户可见部分的表示。快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。

软件工程作业第一章

1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。 危机原因: 1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。 2、主客观不相适应。 ●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等; ●主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? ?基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。 ?软件工程定义:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它. ?软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。 本质特性:P6 消除软件危机:软件工程基本原理7条。 1-6 什么是软件过程?它与软件工程方法学有何关系? ?软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任

务的工作步骤。

?过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。 关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。 1-7 什么是软件生命周期模型?试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型:它将软件生命周期划分为需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。优点:文档驱动。 强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。遵守瀑布模型的文档约束,将使软件维护变得比较容易一些。 缺点:系统可能不满足需求,用户仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品 适用范围:软件需求明确。 原型模型:在初步调查了解的基础上,提供快速的软件建造工具,开发出一个功能并不十分完善的可实际运行的系统,即原型。需求分析入手快速、表达直观、容易交流。重点解决瀑布模型需求分析入手难的问题。 优点:关注满足需求。

软件工程方法与实训

软件工程方法与实训 习题答案 2011-9-22

习题一 ............................................................................................................ 错误!未定义书签。 1 软件是什么?软件有那些特点?................................................................. 错误!未定义书签。 2 按照功能层次,软件可分为那些层次的软件?......................................... 错误!未定义书签。 3 按照服务对象,软件可分为用户定制软件通用商业软件.举例说明两类软件的区别错误!未定义书签。 4 什么是软件工程,其对软件产业化发展有什么积极意义?..................... 错误!未定义书签。 5 软件工程涉及工程,方法,工具三个方面的技术问题.这三个方面存在着什么相互关系? 试举例说明它们之间的联系............................................................................. 错误!未定义书签。 6 软件工程管理主要体现在四个p上,简述各个管理,并谈谈自己的认识错误!未定义书签。7对工程目标进行优先级排序...................................................................... 错误!未定义书签。 8 结构化方法有什么特点?........................................................................... 错误!未定义书签。9操作Microsoft Visio 谈谈你自己的感受........................................... 错误!未定义书签。习题二 ............................................................................................................ 错误!未定义书签。 1 软件开发期的目标任务是什么?概要设计需要完成什么任务?............. 错误!未定义书签。2瀑布模型的一大特点是里程碑管理机制,对此,你有什么认识?............ 错误!未定义书签。3为什么瀑布模型不能很好的适应用户需求变更?.................................... 错误!未定义书签。 4 试说明抛弃型原型与进化型模型的异同................................................. 错误!未定义书签。5一般认为,原型进化模式不能适应较大型软件项目的开发,原因是什么?错误!未定义书签。6增量模式可体现出那些方面的优越性?.................................................... 错误!未定义书签。7开发一个”综合信息管理系统”,选择一个比较合适的过程模式,说明理由.错误!未定义书签。 习题三 ............................................................................................................ 错误!未定义书签。 1 软件开发机构内都设有质量控制部,并将其防灾开发部服务部之上,对此,你什么看法 ... 错误!未定义书签。 2 通常认为,项目负责人不一定是技术专家,但必须是管理专家,对此,你有什么看法?错误!未定义书签。 3 你将如何管理项目小组,以使其具有较高的工作热情?......................... 错误!未定义书签。4是比较民主分权制与住程序员负责制的优劣?为什么?.......................... 错误!未定义书签。 5 需要开发一个学生管理系统,对该项目作出比较合理的任务及进度安排.错误!未定义书签。 6 用c语言开发一个矩阵运算程序,计算工期和人力成本....................... 错误!未定义书签。 7 开发一个设备监控程序,并计算人力成本............................................... 错误!未定义书签。 8 软件项目中主要有那些技术文档,管理文档和用户文档....................... 错误!未定义书签。 9 为什么软件开发需要有配置管理,其主要包括那些方面的管理? ......... 错误!未定义书签。 10 为什么配置管理中需要有开发库,基线库和产品库这三个配置库? ... 错误!未定义书签。 11 什么是质量标准?..................................................................................... 错误!未定义书签。习题四 ............................................................................................................ 错误!未定义书签。 1 计算机系统有哪些元素组成?特征是什么?............................................. 错误!未定义书签。 2 举例说明Client/Server 结构的系统扩充性........................................ 错误!未定义书签。 4 B/S结构有哪些特点?与C/S相比有哪些优势?...................................... 错误!未定义书签。

软件工程课后练习1

第一章 1、软件由计算机程序、数据和组成。 2、软件与硬件有很大的区别,它是一种抽象的实体。 3、软件的发展经历了三个时期:程序设计、程序系统和。 4、软件工程的三个基本要素包括、和。 5、瀑布模型是将软件生存周期的各个活动规定为以顺序连接的若干阶段的模型。它规定了各阶段的活动由前至后,相互衔接的固定次序。 6、原型模型是一种非整体开发模型。先开发一个软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意产品。 7、螺旋模型将开发过程分为若干个螺旋周期。在每个螺旋周期内分为四个工作步骤:制定计划、、实施工程、。 1、软件产品的生产过程主要是 ____。 A. 制造 B. 复制 C. 开发 2、是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护。 A. 软件过程 B. 软件生存周期 C. 软件工程 3、全面准确地描述“软件系统必须要做什么”是以下____阶段的主要任务。 A. 可行性研究 B. 需求分析 C. 软件设计 D. 程序编码 4、软件生存周期中持续时间最长的是____阶段。 A. 需求分析 B. 软件设计 C. 软件测试 D. 软件运行/维护 5、以下叙述中不属于软件危机的主要表现是____。

A. 软件成本太高 B. 软件产品无法满足用户需求 C. 软件开发人员明显不足 D. 软件开发效率低 6、在以下软件过程模型中,___适合于大型软件的开发,并引入了风险分析的概念。 A. 瀑布模型 B. 原型模型 C. 螺旋模型 D. 增量模型 7、为保证软件开发过程能够跟上技术的进步,必须不断地灵活地改进软件工程____。 A. 工具 B. 过程 C. 方法 8、软件工程中描述瀑布模型一般包括计划、____、设计、编码、测试、维护几个阶段。 A. 需求分析 B. 需求调查 C.问题定义 D. 可行性研究 1、什么是软件,有哪些特点。 2、软件危机的主要表现有哪些? 3、什么是软件工程,包括哪些基本要素,简要说明这些要素的作用。 4、什么是软件生存周期,通常划分为哪些阶段? 5、比较瀑布模型、增量模型、原型模型和螺旋模型各自的特点。 6、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完之后,该软件将被抛弃。选用哪种软件过程模型比较合适?说明选择的理由。 7、假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了

仿真软件promodel实验教程全解

第一章promodel简介 promodel 是一套功能相当强且容易使用的数据及图型导向系统仿真软件,它提供模块(module)的观念及操作方式让使用者可弹性的设计多种生产系统并进行仿真及分析。从小型化工厂(small job shops),大型工厂生产(large mass production)及先进的柔性弹性制造系统(flexible manufacturing system)皆可容易的规划及模拟。 Promodel系统中提供使用者人性化的操作接口环境。只要利用鼠标或键盘根据功能项目选择所需的构建工具(location & resource)、工作组件(part)及操作设定(operations),就可以不需撰写任何程序(此乃相对于一些高阶仿真语言如SLAM等而言),而完成一系统仿真的环境。另外软件更提供使用者可测试追踪(trace)系统内每个操作步骤、每个工作站、工作母机执行的情形。因此使用者在开发中即可方便的进行测试与除错,并于完成是可动态的撷取其所需点的使用情形。 因此,哪怕系统大到2000格操作机、工作站及几千几百的操作流程都能在极短的时间内完成开发、测试的工作或根据统计的数据调整系统内各资源的工作量及操作速度等设定参数,以达到系统所设定目标之最佳化。 在定义整个系统的输入输出因子、组装、包装、加工等作业流程,甚至流程的逻辑及运作优先规则时,都能借着设定参数或利用条件变量而弹性调整,也可以利用外在的程序语言控制,来改变系统的状态。例如:在仿真整个工厂的生产流程中:人员、机器、物料、无人搬运车(AGV)、夹具、机器手臂(robot)、输送带(conveyor),都能利用系统提供的传输模块以设定其速度、容量、加速度、运作顺序、方向等。 在规划设定好系统后,于仿真执行前,promodel会先行测试系统,检查各相关工作站输入、输出是否平衡。假如有忘记设定的容量、速度等,系统都能自动帮使用者假设并询问意见,如果不满意可以再修改。真正在模拟的时候又可随时观察各资源(resource)使用情形。使用者可追踪系统运作流程,随时中断仿真,并藉系统仿真后,所产生的运作过程统计数据,统计各工作站、资源使用率等。此外promodel也提供简单且易读的统计图、统计报表文件,因而可方便的了解全部资料利用的情形。一些常见的promodel应用包括:1.产能规划 2.瓶颈分析 3.厂房布置 4.生产排程 5.“日本JIT”系统规划 6.生产周期分析 此外promodel 又可让设计者藉调整工作站数量、速度、输入方式、输出方式(如:批次),以作整体系统的各种可能状况下的评估,以作为将来真正建造设计时的参考,使用及分析弹性相当宽广。 Promodel 不仅应用于生产领域,它可以用于仿真任何一种离散时间流程系统。例如:港口、供应链系统、分销系统以及其他一些物流系统。

软件工程模型

软件开发的V模型的优缺点? V模型是最广为人知的测试模型。 最典型的V模型版本一般会在其开始部分对软件开发过程进行描述 图1 V模型的各级开发阶段 这是古老的瀑布模型。作为开发模型, 在V模型中,测试过程被加在开发过程的后半部分,如下图所示: 图2 V模型示意图 单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。系统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最终用户的需求。 预验收测试 可行性分析-------> 验收测试 ↘预系统测试↗ 需求分析-----> 系统测试 ↘预集成测试↗ 概要设计----> 集成测试 ↘预单元测试↗ 详细设计-> 单元测试 ↘↗ 编码 这就是软件测试的V模型 V模型的缺陷 仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段 忽视了测试对需求分析,系统设计的验证,一直到后期的验收测试才被发现。 W 模型: 上次说到V模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试”的原则。在V模型中增加软件各开发阶段应同步进行的测试,演化为W模型。在模型中不难看出,开发是“V”,测试是与此并行的“V”。基于“尽早地和不断地进行软件测试”的原则,在软件的需求和设计阶段的测试活动应遵循IEEE1012-1998《软件验证与确认(V&V)》的原则。 W模型由Evolutif公司提出,相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。 W模型也有局限性。W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动,无法支持迭代、自发性以及变更调整。 W模型也被称为双V模型,在每个开发阶段,测试都可以介入,并执行编写、评审、基线化的过程。双V模型的第一条线代表开发,第二条线代表测试准备,第三条线是测试执行。他的模型是这样的: SRS编写 STP编写 SRS评审STP评审 ST系统测试 SRS基线化 STP基线化HLD编写 ITP编写 HLD评审 ITP评审IT集成测试 HLD基线化 ITP基线化 LLD编写UTP编写 LLD评审 UTP评审 UT单元测试

软件工程基本概念、工具与研究热点

实验1 软件工程基本概念、工具与研究热点 1.1 软件工程的计算环境 1.实验目的 1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件生存周期过程和软件生存周期 各阶段的定义和内容。 2)通过Internet搜索与浏览,了解网络环境中主流的软件工程技术网站,掌握通过专业网 站不断丰富软件工程最新知识的学习方法,尝试通过专业网站的辅导与支持来开展软件工程 应用实践。 3)通过Internet搜索与浏览,了解主流的软件工具和软件开发环境产品及发展和应用情况。 2.工具/准备工作 需要准备一台带有浏览器、能够访问因特网的计算机。 课内实验学时:2学时 3.实验内容与步骤 1)请查阅有关资料,给“软件”下一个权威性的定义:软件是一系列按照特定顺序组织的 计算机数据和指令的集合。 这个定义的来源是:百度百科(https://www.wendangku.net/doc/6613593058.html,/view/47193.html) 2)“软件生存周期”是软件工程技术的重要基础,是对软件的一种长远发展的看法,这 种看法把软件开始开发之前和软件交付使用之后的一切活动都包括在软件生命周期之内。 查阅有关资料,给出“软件生命周期”的定义:软件生命周期(SDLC,Systems Development Life Cycle,SDLC)是软件的产生直到报废的生命周期。 这个定义的来源是:百度百科(https://www.wendangku.net/doc/6613593058.html,/view/47193.html) 3)“软件生命周期过程”概念进一步完善了关于软件生命周期的定义,其主要内容是: 软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维 护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进, 每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。 这个定义内容的来源是:百度百科(https://www.wendangku.net/doc/6613593058.html,/view/47193.html) 4)由于工作对象和范围的不同以及经验不同,对软件生命周期过程中各阶段的划分也不 尽相同。但是,这些不同划分中有许多相似之处。相关的软件工程国家标准把软件生存周期 划分为8个阶段,分别是:系统定义,可行性研究,需求分析,总体设计,详细设计,编码和单元测 试,综合测试,运行维护 你认为把软件生存周期划分为不同阶段的意义何在:提高编辑软件的效率,有效缓解软 件危机,提高软件的质量及软件的科学、有效性。 5)上网搜索和浏览,了解软件工程技术的应用情况,看看哪些网站在做着软件工程的技 术支持工作?请记录搜索结果。

软件工程理论与实践习题答案

习题答案 习题一答案 一、选择题 1. 软件的主要特性是(A B C)。 A) 无形 B) 高成本 C) 包括程序和文档D) 可独立构成计算机系统 2. 软件工程三要素是(C D)。 A) 技术、方法和工具B) 方法、工具和过程 C) 方法、对象和类D) 过程、模型、方法 3. 包含风险分析的软件工程模型是(A)。 A) 螺旋模型 B) 瀑布模型C) 增量模型 D) 喷泉模型 4. 软件工程的主要目标是(C)。 A) 软件需求B) 软件设计C) 风险分析D) 软件实现 5. 下列属于面向对象开发方法的是(A B C D)。 A) Booch B) UML C) Coad D) OMT 6. 软件危机的主要表现是(B D)。 A) 软件成本太高B) 软件产品的质量低劣 C) 软件开发人员明显不足D) 软件生产率低下 7. 软件开发方法的主要工作模型有(A B C) A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型 8. 软件工程的目标有(A B C)。 A) 易于维护B) 低的开发成本 C) 高性能D) 短的开发期 9. 软件工程学的目的和意义是( )。 A) 应用科学的方法和工程化的规范管理来指导软件开发 B) 克服软件危机 C) 作好软件开发的培训工作 D) 以较低的成本开发出高质量的软件 二、判断题 1. 软件就是程序,编写软件就是编写程序。(×) 2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。(×) 3. 结构化方法的工作模型是使用螺旋模型进行开发。(×) 4. 结构化方法和JSP方法都不适合于大型软件的开发。(√) 5. 原型化开发方法包括生成原型和实现原型两个步骤。(×) 6. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。( √) 7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。(×) 8. 软件工具的作用是为了延长软件产品的寿命。(×) 9. 软件工程过程应该以软件设计为中心,关键是编写程序。(×)

软件工程简答题

软件工程简答题 三、简答题(简要回答下列问题) 1、什么是软件工程?它目标和内容是什么? 软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。 软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。 软件工程内容:包括开发技术和开发管理两个方面。 2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发? 软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。 其中喷泉模型、统一软件过程适用于面向对象的软件开发。 3、什么是结构分析方法?该方法使用什么描述工具? 结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。 4、什么是软件概要设计?该阶段的基本任务是什么? 把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。 基本任务: ⑴设计软件系统结构 ⑵进行数据结构及数据库的设计 ⑶编写概要设计的文档 ⑷评审 5、软件维护有哪些内容? (1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴

露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。 (2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。 (3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。 (4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。 6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系? 软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。 单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。 集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。 系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。 7、什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。 8、衡量模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合。 内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。 耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。

软件工程—理论与实践-课后答案(许家怡-白忠建-吴磊-著)-高等教...

习题一答案 一、选择题 1. 软件的主要特性是(A B C)。 A) 无形 B) 高成本 C) 包括程序和文档 D) 可独立构成计算机系统 2. 软件工程三要素是(B)。 A) 技术、方法和工具 B) 方法、工具和过程 C) 方法、对象和类 D) 过程、模型、方法 3. 包含风险分析的软件工程模型是(A)。 A) 螺旋模型B) 瀑布模型 C) 增量模型 D) 喷泉模型 4. 软件工程的主要目标是(C)。 A) 软件需求 B) 软件设计 C) 风险分析 D) 软件实现 5. 下列属于面向对象开发方法的是(A B C D)。 A) Booch B) UML C) Coad D) OMT 6. 软件危机的主要表现是(B D)。 A) 软件成本太高 B) 软件产品的质量低劣 C) 软件开发人员明显不足 D) 软件生产率低下 7. 软件开发方法的主要工作模型有(A B C) A) 螺旋模型 B) 循环模型 C) 瀑布模型 D) 专家模型 8. 软件工程的目标有(A B C)。 A) 易于维护 B) 低的开发成本 C) 高性能 D) 短的开发期 9. 软件工程学的目的和意义是(A D)。 A) 应用科学的方法和工程化的规 范管理来指导软件开发 B) 克服软件危机 C) 作好软件开发的培训工作 D) 以较低的成本开发出高质量的 软件 二、判断题 1. 软件就是程序,编写软件就是编写程 序。(×) 2. 瀑布模型的最大优点是将软件开发的 各个阶段划分得十分清晰。(×) 3. 结构化方法的工作模型是使用螺旋模 型进行开发。(×) 4. 结构化方法和OO方法都是一种面向 过程的软件开发方法。(×) 5. 原型化开发方法包括生成原型和实现 原型两个步骤。(×) 6. 面向对象的开发方法包括面向对象的 分析、面向对象的设计和面向对象的程序 设计。( √) 7. 软件危机的主要表现是软件的需求量 迅速增加,软件价格上升。(×) 8. 软件工具的作用是为了延长软件产品 的寿命。(×) 9. 软件工程过程应该以软件设计为中 心,关键是编写程序。(×) 10. RCP法与RSP法的主要区别是前者采 用循环渐进的开发方式,原型将成为最终 的产品,而后者原型将被废弃。(√) 三、简答题 1. 软件产品的特性是什么? 答:●软件是一种逻辑产品,具有无形性; ●软件产品的生产主要是研制;主要 是脑力劳动; ●软件不存在磨损和老化问题,但存 在退化问题; ●软件产品的成本非常昂贵,其开发 方式目前尚未完全摆脱手工生产方式; ● 软件具有“复杂性”,其开发和运 行常受到计算机系统的限制。 2. 软件发展有几个阶段?各有何特 征? 答:①程序设计阶段。 硬件特征:价格贵、存储容量小、运行可靠性差。 软件特征:只有程序、程序设计概念,不重视程序设计方法。 ②程序系统阶段。 硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长。 软件特征:程序员数量猛增,开发人员素质低。 ③软件工程阶段。 硬件特征:向超高速、大容量、微型化及网络化方向发展。 软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。 3. 什么是软件危机?其产生的原因是什么? 答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力、财力,而在开发过程中就夭折。软件危机主要表现在两个方面: (1) 软件产品质量低劣,甚至开发过程就夭折。 (2) 软件生产率低,不能满足需要。 4. 什么是软件过程?有哪些主要的软件过程模型?它们各有哪些特点? 答:软件过程是指在软件工具的支持下,所进行的一系列软件开发和进化的活动。软件过程模型是对软件开发实际过程的抽象和简 1

软件工程模拟试卷和答案

《软件工程》模拟试卷一 注意: 1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。请监考老师负责监督。 2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。 3.本试卷满分100分,答题时间为90分钟。 4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。 一、【单项选择题】(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。 1、在软件开发领域中,“描述了实现概念模型的软件解决方案”的系统模型被称为()。 [A]设计模型[B]软件模型[C]实现模型[D]部署模型 2、一般来说,整个需求的主体是()。 [A]功能需求[B]性能需求 [C]外部接口需求[D]设计约束 3、总体设计的第二阶段是()。 [A]初始设计[B]详细设计[C]复审阶段[D]精化设计 4、在模块内聚类型中,常常通过研究流程图确定模块的划分,得到的是()。 [A]逻辑内敛[B]顺序内敛[C]功能内敛[D]过程内敛

5、一个模块直接控制(调用)的下层模块的数目称为模块的()。 [A]扇入[B]扇出[C]深度[D]宽度 6、UML术语中,限定符常被用在()。 [A]依赖关系[B]泛化关系[C]关联关系[D]细化关系 7、UML提供的13种图形化工具中,用于概念模型和软件模型静态结构的是() [A]用况图[B]状态图[C]类图[D]活动图 8、RUP的迭代、增量式开发规定的4个阶段不包括()。 [A]评审阶段[B]构造阶段[C]移交阶段[D]精化阶段 9、根据RUP实现的活动,输入为设计类,活动为实现类,则输出为()。 [A]用况[B]子系统[C]接口[D]构件 10、软件评估可分为静态评估和动态评估,其中属于动态评估技术的是()。 [A]评审[B]走查[C]形式化证明[D]软件测试 11、黑盒测试技术,又称为()。 [A]功能测试[B]结构测试[C]系统测试[D]集成测试 1/14 12、若有语句if(A<1and C>0)then B=1/C else B=1/A,选用类似数据A=2,C=1;A=-2,C=1;A=2,C=-1;A=-2,C=-1;得到不同B的值,这种测试策略为()。 [A]定义域测试[B]等价类测试[C]路径测试[D]事物流测试

物流系统建模与仿真软件简介

一、物流系统建模与仿真软件简介 由于物流系统变得越来越复杂并且内部关联性越来越强。仿真是公司检验其物流系统及决策是否真的高效的唯一可用技术了。在设计一个新的工厂或系统,对已由系统添加新设备或重新优化,仿真都是非常必要的。同时仿真还用来提供直觉的和经验的决策支持。在当今市面上,仿真可用使用专用软件来实现。由于存在着如此多的仿真软件,如何正确的选择软件至关重要。下面列举出典型的系统仿真软件[3]。 软件名称简介 (1)20-sim 20-sim是由Twente大学控制实验室开发的运行于Windows系统下的建模与仿真软件。作为著名软件包TUTSIM的后续产品,它完全支持图形建模,让用户在直观和友善的方式对动态系统进行设计和分析,同MATLAB和Simulink可以方便的进行建模与仿真的交互。使用20-sim,我们可以仿真动态系统(例如电力、机械、水动力系统或它们的组合系统)的各种行为。 (2)arena该软件可以用来模拟服务、制造、运输、物流、供应链和其它系统。(3)Automod该软件提供了真实的三维虚拟现实动画,使得仿真模型非常用以理 解;提供了高级的特征让用户可以仿真复杂的活动,如机器人、设 备工具、生产线等的运动和转动。该软件还为用户提供了一套基于 专家系统的物料搬运系统,它是根据工业自动化的真实运行经验开 发的。这些包括输送链、自动存储和检索系统,桥式起重机等。(4)Awesim Awesim提供生产系统动态模型的仿真机。动画使用图形界面构建, 用户可以对交互式仿真进行特定的控制。 (5)Easy5由波音公司开发的用来模拟和仿真包含水力、风力、机械、热、电 子和数字等子系统的动态系统软件包。包括了一整套控制系统建 模、分析和设计功能。 (6)Idef该软件是一种流程图析软件,可以非常容易的适用流程图来绘制和 表述流程。它能够提供比传统流程图更多的信息。流程中包含的流 程、流程约束、人和其他资源能够被整合到一起。 (7)Intrax该软件能够提供许多被建模和仿真实际流程的管理决策。它能够被 用来执行战略(同战略视图,同步价值链视图相符合的现实),流 程改善(工序改善、生产力改善、节约循环时间),同步价值链(动 态视觉,同步约束)和日常运作(可对比的运作替代方案,短期变 化影响力的检验)等的模拟和仿真。 (8)Manufacturing Engineering 该软件提供离散仿真功能来解决制造问题和设计制造方案。它在广阔的应用领域中预测产出率,人工和其他的绩效。 (9)Matlab该软件是组合的数字计算、高级图形技术和可视化、高级编程语言 的集成计算机算环境。Simulink式用来对动态系统进行建模、仿真 和分析的交互式工具。它可以构建图形化的结构图,模拟动态系统, 评估系统绩效和精炼设计。 (10)Modsim该软件可以用来仿真像港口,铁路网和航空管制等的管理模型。还 可以用来仿真制造系统。 (11)Promodel该软件可以对制造系统、仓储系统和物流系统的评估、规划或重新 设计进行仿真。典型应用包括精益制造的实施,周期事件的降低, 设备投资决策,产出率和能力分析,识别和排除瓶颈,资源分配等。

相关文档 最新文档