软件工程工具分类

软件工程工具分类
软件工程工具分类

软件工程工具分类 Prepared on 24 November 2020

姓名:彭丹班级:计软移动1402 学号: 03

实验一

实验目的与要求

(1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件危机和软件工程基本原理。

(2)理解软件工程环境和工具,熟悉软件工程环境组成和软件工具分类。

(3)通过Internet了解软件工程技术网站和主流的软件工程工具等。

实验内容

(1)上网了解查询软件工程网站和相关软件工程知识。

(2)了解软件工程环境概念、层次、组成和开发要求。

(3)查询现有主流的软件工程工具及其功能、用途、特点及适用范围。

(4)浏览CASE工具。通过互联网了解现有的软件工程主流工具,完成表1-2的内容。

Project、PowerDesigner、WinRunner、LoadRunner、Eclipse等,快速了解他们的基本功能和作用,完成表1-3的内容。

表1-3 一些常用的软件工程工具分析

环境,完成表1-4的内容。

5. 请查阅有关资料,给“软件”下一个定义

软件(中国大陆及香港用语,台湾作软体)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。

6.“软件生存周期”是软件工程技术的重要基础,是对软件的长远发展的看法,

这种看法把软件开始开发之前和软件交付使用之后的一切活动都包括在软件生存周期之内,请查阅有关资料,给出“软件生存周期”的定义。

软件生存周期(SDLC,)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、、编码、调试和测试、验收与运

行、维护升级到废弃等阶段,这种按时间分程的思想方法是中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的的设计方法和技术的成熟,设计方法的指导意义正在逐步减少。

“软件生存周期过程”概念进一步完善了关于软件生存周期的定义,其主要内容是:软件生存周期(SDLC,)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、、、调试和测试、验收与运行、维护升级

到废弃等阶段,这种按时间分程的思想方法是中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的的设计方法和技术的成熟,设计方法的指导意义正在逐步减少。

7.由于工作对象和范围的不同以及经验的不同,对软件生存周期过程中各阶段

的划分也不尽相同。但是,这些不同划分中有许多相同之处。相关的软件工程国家标准把软件生存周期划分为8个阶段,这8个阶段是:

档过程、配置管理过程、质量保证、验证过程

你认为把软件生存周期划分为不同阶段的意义何在

同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大

9. 上网搜索和浏览,了解软件工程技术的应用情况,看看哪些网站在做着软件工程的技术支持工作并将搜索结果记录下来。

礼拜九网络技术团队在做三维展示网站软件技术支持和AS3与数据库交互技术支持。

你习惯使用的网络搜索引擎是:必应、快搜

你再本次搜索中使用的关键词主要是:做着软件工程的技术支持工作的网站

网站名称网址内容描述

百度礼拜九网络技术团队在做

三维展示网站软件技术支

持和AS3与数据库交互技

术支持。

在本实验中将你感觉比较重要的2个软件工程专业网站记录下来。

10.综合分析,你认为各软件工程专业网站当前技术热点是:

11习题

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

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、面向对象设计与面向对象分析的区别是什么?设计包括哪些活动? 4、请分析比较下面两个for循环的优缺点 现在要对一个自动饮料售货机软件进行黑盒测试,该软件的规格说明如下: 一个自动售货机软件可以销售单价1元5角的盒装饮料。该售货机只接收1元和5角两种硬币,若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,则送出相应的饮料;若投入的硬币少于1元5角,则显示错误信息并退出硬币;若投入的硬币多于1元5角,则送出饮料的同时退还多余的硬币。请设计测试该软件的全部测试用例。 软件会逐渐退化而不会磨损,其原因在于() A.软件通常暴露在恶劣的环境下 B.软件错误通常发生在使用之后 C.不断的变更使组件接日之间引起错误 D.软件备件很难订购 软件开发的瀑布模型是( )。 A.适用于需求被清晰定义的情况 B.一种需要快速构造可运行程序的好方法 C.最适合于大规模团队开发的项日 D.己不能用于现代环境的过时模型

软件工具与环境实验报告

武汉理工大学 学 生 实 验 报 告 书 实验课程名称 《软件工具与环境》 开 课 学 院 计算机科学与技术学院 指导老师姓名 张能立 学 生 姓 名 曹旭磊 学生专业班级 软件0804班 2010 — 2011 学年 第 一 学期 学生学号 0120810680426 实验课成绩

实验课程名称:软件工具与环境 实验项目名称Eclipse平台及程序调试技术实验成绩 实验者曹旭磊专业班级软件0804 组别 同组者实验日期年月日第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的及要求 1、掌握Eclispe平台的工作台(Workbench)、透视图(Perspectives)、视图(Views)、 首选项(Preferences)概念。 2、掌握透视图切换的方法。 3、编写一个简单的Java程序,并能正确运行 4.、掌握设置断点及调试跟踪程序的方法。 二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或 者算法描述) 实验内容及步骤 1、启动Eclispe,在Java透视图、Java Debug透视图、MyEclipse Database Explorer 透视图以及MyEclipse Java Enterprise透视图之间来回切换,与同学或老师讨论一下这些透视图的作用。 2、编写一个在控制台输出“Hello World!”的程序和一个在控制台输出 1+2+3+…+100之和的程序。 3、设置断点,调试1+2+3+…+100之和这个程序,观察循环自变量和求和变量值 的变化。 三、主要仪器设备及耗材 装有java开发环境及eclipseIDE的PC机一台。

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

作业答案。 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)在浏览器上展示图片 附加:统一过程模型的图。 (要求有图有说明)

软件工程方法学作业6-答案

1. 软件设计一般分为总体设计和详细设计,它们之间的关系是(B)。 A. 全局和局部 B. 抽象和具体 C. 总体和层次 D. 功能和结构 2. 软件结构使用的图形工具,一般采用(C)图。 A. DFD B. PAD C. SC D. E-R 3. 下列中属于软件设计的基本原理的是(D)。 A. 数据流分析设计 B. 变换流分析设计 C. 事务流分析设计 D. 模块化 4. 在软件结构的后处理中,下列说法错误的是(E)。 A. 为模块写的处理说明及接口说明可采用IPO图 B. 数据结构的描述可用Warnier图或Jackson图 C. 给出设计约束或限制。如数据的边界值、数据类型、格式、内存容量及时间的限制 D. 在概要设计评审中,应着重评审软件需求是否得到满足及软件结构的质量等 E. 设计的优化工作主要放在软件结构设计的后处理阶段 5. 在分层数据流图映射成软件结构的设计中,下列说法错误的是(D)。 A. 分层的数据流图映射成软件结构图也应该是分层的 B. 软件结构图的物理输入与输出部分放在主图中较为合适 C. 分层DFD图的映射方法:主图是变换型,子图是事务型;或主图是事务型,子图是变换型 D. 变换型通常用于高层数据流图的转换,而事务型通常用于较低层数据流图的转换 6. 软件设计阶段一般又可分为(B)。 A. 逻辑设计与功能设计 B. 概要设计与详细设计 C. 概念设计与物理设计 D. 模型设计与程序设计 7. 结构图中,不是其主要成分的是(C)。 A. 模块 B. 模块间传递的数据 C. 模块内部数据 D. 模块的控制关系 8. 好的软件结构应该是(B)。 A. 高耦合、高内聚 B. 低耦合、高内聚 C. 高耦合、低内聚 D. 低耦合、低内聚 9. 结构分析方法就是面向(B)自顶向下逐步求精进行需求分析的方法。 A. 目标 B. 数据流 C. 功能 D. 对象 10. 程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的内聚性

软件工程实践者的研究方法-背诵知识点

软件的定义:软件是:1)指令的集合,通过执行这些指令可以满足预期的特征、功能和性能需求;2)数据结构,使得程序可以充分利用信息;3)软件描述信息,以硬拷贝和虚拟形式存在,描述程序操作和使用。 软件与硬件的区别:软件是设计开发的;软件不会磨损;大多数软件是按需求定制的。 IEEE定义:(1)将系统化、规范化、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件;(2) 在(1)中所述方法的研究。 软件工程的层次:软件工程的根基在于质量关注点。软件工程的基础是过程层。过程将各个技术层次结合在一起,使得合理地、及时地开发计算机软件成为可能。方法为构建软件提供技术上的解决方法("如何做")。工具为过程和方法提供自动化或半自动化的支持。 通用过程模型的5种框架活动:沟通、策划、建模、构建、部署 8个典型的普适性活动:软件项目跟踪与控制;风险管理;软件质量保证;技术评审;测量;软件配置管理;可复用管理;工作产品的准备和生产 软件神化:关于软件及其开发过程被人们盲目相信的一些说法,它实际上误导了人们对软件开发的态度。 螺旋模型:?一种风险驱动型的过程模型,一种演进式软件过程模型。它结合了原型的迭代性质和瀑布模型的系统性和可控性特点。具有快速开发越来越完善软件版本的潜力。 统一过程(UP):以用例为驱动、以系统架构为核心,迭代式增量式开发过程。RUP包括起始、细化、构建、转换和生产5个阶段。五个UP阶段并不是顺序地进行,而是阶段性地并发进行。 成熟度级别:第0级:不完全级、1已执行级、2已管理级、3已定义级、4已定量管理级、5优化级软件生命周期:软件计划与可行性研究、需求分析、软件设计、编码、软件测试、运行与维护 瀑布模型:一个系统的、顺序的软件开发方法。缺点:实际项目开发中很少遵守瀑布模型提出的顺序;客户难以清楚的描述所有的需求;客户要等到开发周期的晚期才能得到可执行的程序;在线性过程的开始和结束,容易发生“阻塞状态”。 敏捷团队成员特点:基本能力、共同目标、精诚合作、决策能力、模糊问题解决能力、相互信任和尊重、自我组织 极限编程过程包含4个框架活动:策划、设计、编码、测试设计原则:KIS 重构:以不改变代码外部行为而改进其内部结构的方式来修改软件系统的过程 结对编程:两个人面对同一台计算机共同为一个故事开发代码。 优点:结对的两人完成其工作,他们所开的代码将与其他人的工作集成。这种集成作为集成团队的日常工作实施。还有一些情况下,结对者自己负责集成,这种“连续集成”策略有助于避免兼容

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

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

软件工具与环境课程教学设计方案

海西电大计算机应用专业(专科) 《软件工具与环境》课程教学设计方案 责任教师:王群东 制订时间:2003年3月2日 一、课程概况 《软件工具与环境》课程是中央电大计算机应用专业应用与软件开发方向的一门必修课。课内学时54,3学分。其中理论教学20学时,实验34学时,一学期开设。本课程主要学习当前最流行的软件开发工具与环境,使学员通过本课程的学习,将所学的理论知识应用于实践之中,全面地掌握软件开发的过程与组织等技术,从而提高软件开发的能力和水平,以适应未来工作的需要。 二、教学媒体的选择 本课程选择的主要媒体包括文字教材、录像教材、直播课堂及网上教学等。各媒体之间的关系如下: 1.文字教材是主要媒体,录象教材是文字教材的强化媒体,网上教学是文字教材的辅助媒体。几种媒体所表现的内容有共同之处,但不是简单的重复,互相配合,各有侧重。 2.文字教材(合一型)由石油大学陈明教授编写,中央电大出版社出版。它是教学内容的基本载体,学生全部学习内容的知识点尽在其中。 3.录像教材是用形象化手段强调教学内容的重点、难点,讲解分析问题的思路和解决问题的方法。共10讲,每讲50分钟,由石油大学陈明教授主讲。 4.直播课堂主要通过习题及阶段的总结和辅导,巩固主教材的内容。 5.课程作业依据文字教材及教学大纲的要求安排内容,形式上按课程考核的要求进行。 6.网上主要是教学大纲、课程教学设计方案、考核说明、学习辅导以及一些动态信息、网上答疑(交互或文本),回答学生提出的问题等。 三、教学内容进度安排

四、教学媒体的安排 1.录像教材媒体(10讲,每讲50分钟,每一小节25分。)

2.直播课堂(1讲,50分钟) 3.网上教学

软件工程课 心得体会

心得体会 通过本学期的学习,独立完成了软件工程方法实践与案例的作业,同时也收获了学习方法和思维方式。由于我是从电气专业调剂到计算机专业,几乎没有基础,所以在刚开始进入学习时感觉非常的困难。但是,李老师每节课都循序渐进的引导教学,让我慢慢理解了软件工程的学习思维,并且坚持学习,逐渐找到了学习软件工程的方法。在整个的学习中,一点一点的学习:上网搜索、问同学和老师、找参考书、查文献,甚至下仓库管理的软件进行使用研究,用了很多方法,也终于对软件工程的整体设计有了深刻概念和理解。 老师给我们分组分配任务,同时又每个人有不同的具体任务,这样既锻炼了我们的合作沟通的能力,同时也强调了独立自主的思考。我们仓库管理小组进行过好几次集体讨论,大家互相讨论,共同学习,也曾出现过意见不统一,通过探讨,共同解决,我觉得这也是学习提升的过程。明确了自己的任务后,就努力去完成,按时完成自己的任务。 在完成作业的同时,学到了很多的数据库知识和软件使用方法。首先接触了visio软件,发现了它画图比较方便,之后老师介绍用rose软件后,发现其功能更加强大。由于rose软件是英文版,所以刚开始用的时候比较吃力,经过搜索使用教程和多次使用练习后,终于可以熟练使用了。 整个设计过程,包括调研设计、需求分析、概要设计、数据库设计、详细设计等。其中,我对UML图印象最为深刻,也是从这个地方开始,我对软件设计有了质的改变,体会和理解了软件设计应该树立的思维方式,对以后的学习和任务有有很大帮助,后期做作业时也没有那么困难了。 在这整个课程学习和完成作业过程中,收获知识,提高能力的同时,我也学到了很多人生习惯,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把这种习惯带到生活中,不畏,勇往直前! 最后感谢李老师对我们耐心的教育和指导,认真细心的给我们批改作业,给予我们这些没有基础的学生耐心指导,谢谢老师!

软件工程方法与实训

软件工程方法与实训 习题答案 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. 什么是软件工程?构成软件工程的要素是什么? 2. 什么是软件危机?软件危机有那些表现? 3.软件开发的三种最主要方法是什么? 4.软件工程实践中的五个面向理论的含义是什么? 5.用图表方式说明软件的生存周期 6.结合软件生存周期理论,阐述几个重要的软件开发模型的特点及适用条件(如瀑布模型、快速原型模型、增量模型、迭代模型等) 第四章需求分析基础 1.什么是软件需求?软件需求的属性是什么? 2.需求分析阶段的一般工作流程是什么? 3.什么是需求分析?需求分析的任务、目的是什么? 4.什么是需求定义? 5.简述软件需求分析的任务与步骤,并以图书管理系统为例说明 6.需求的分析的方法与切入点?(过程分析、对象分析;功能分析、对象分析、数据分析?) 7.需求分析的描述工具? 8.什么是业务流程图?业务流程图的主要绘图元素有哪几种? 9.什么是数据流图?数据流图的绘图元素有哪几种? 10.分别画出图书管理系统的业务流程图和数据流图 11.画出图书管理系统的用例图 12.画出一个网上招聘系统(招聘网站)的用例图 第五章面向数据流的分析方法 1. 阐述数据流图、数据字典和E-R图的构成 2. 阐述基于数据流图进行需求分析的大致过程。 3. 归纳总结CASE工具的核心思想。 4. 如何判断数据流图的一致性和完全性?可否用CASE工具自动或半自动地完成这两类检查?如果可以,请给出相应的软件设施途径。 5. 设计一个简单图书信息系统上网E-R模型 第六章面向对象的需求分析 1. 基本概念:对象、类、消息、继承、聚集 2. 简述利用UML尽心需求分析的主要步骤。 3. 简述面向对象的消息传递机制在程序设计语言中的实现过程。 4. 绘制表示“书籍”的UML类图,“书籍”可以描述为:一本书由许多部分组成,每一部分又由许多章组成,每一张由许多节组成。部分、章和节都具有标题和序号属性。 第八章软件设计基础 1.什么是软件设计?软件设计过程的输入和输出是什么? 2.理解软件设计的原理 3.什么是软件架构?理解软件的三层架构的内容及特点 4软件设计有两大类方法是什么? 5.面向过程设计的主要任务和内容和方法是什么? 6.面向对象设计的内容和步骤是什么?

软件工程教学大纲正式版

软件工程教学大纲正式 版 WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】

《软件工程导论》课程教学大纲一、课程基本信息 课程编号: 英文名称名:Software Engineering 总学时:54学时 学分:3 课程类别:专业必修课 适用专业:全校本(专)计算机科学与技术 先修课程:数据结构,大学数学,离散数学,计算机算法设计。 二、课程性质与目的、要求 《软件工程》是计算机专业的一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。《软件工程》已成为高等学校计算机软件教学体系中的一门核心课程, 本课程以IEEE最新发布的软件工程知识体系为基础构建内容框架,注重贯穿软件开发整个过程的系统性认识和实践性应用,以当前流行的统一开发过程、面向对象技术和UML语言作为核心,密切结合软件开发的先进技术、最佳实践和企业案例,力求从“可实践” 软件工程的角度描述需求分析、软件设计、软件测试以及软件开发管理,使学生在理解和实践的基础上掌握当前软件工程的方法、技术和工具。 通过本课程的学习,要求学生能掌握软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;学生应能掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的理论基础。 本课程注重培养学生理论应用于实践的能力,课堂上教师向学生讲述软件工程中的相关原理和概念,并通过课程设计,培养学生对整个软件开发过程的能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档。本课程对提高学生的软件开发能力和项目管理能力有重要的现实意义。 三、教学内容及学时分配 本课程的教学内容共分十三章。

232传统软件工程方法学大作业

软件工程 课程设计指导书计信学院

1.课程设计目的 本课程设计是为软件工程课程配套设置的.其目的是使学生能够针对具体软件工程项目进一步掌握在软件工程管理、软件需求分析、软件概要设计、软件详细设计和软件测试等阶段的方法、工具和技能,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,从而提高学生分析问题、解决问题的能力,使学生具备初步的软件项目管理的能力。 2.课程设计要求 (1)每个班级按项目小组进行分组,每组不能超过4人(项目过程完整可以包括6人)。每个小组需要完成从项目可行性分析――>项目开发计划――>项目需求分析――>项目概要设计――>项目详细设计――>编码――>测试――>项目结项(红色为可选项)这些阶段。每个阶段都必须有完整的开发文档支持。开发文档包括: ●可行性分析报告 ●项目开发计划 ●需求分析规格说明 ●概要设计规格说明 ●详细设计规格说明 ●测试计划 ●测试记录 ●项目审查记录 ●用户手册、系统手册 ●项目结项书 同时,还应该进行相应的配置管理与质量管理。 (2)每个项目小组选出项目负责人一名。项目负责人的职责:召集项目成员、组

织成员讨论、选定开发项目、拟定“可行性研究报告”、“项目开发计划”、执行项目管理并根据项目进展情况对项目开发计划进行调整;对于调整的项目开发计划必须存档。 (3)开发文档的具体要求见:软件开发文档撰写 3.课程设计内容 课程设计任务包括: ●熟悉至少一种建模工具(PowerDesigner、RationalRose、Erwin) ●完成可行性分析 ●完成需求分析 ●完成概要设计 ●完成详细设计 ●代码实现 ●代码测试工作 ●完成各阶段的审查工作 ●完成项目管理工作 课程设计参考资料 ●软件工程过程(简要) ●软件开发文档撰写(参见附录) 软件工程过程(简要) 在整个生命周期中,任一阶段如果不能通过评审,就不能开展下一阶段的工作,应根据情况返工重做。返工的情形可能是返回上一阶段,也可能是返回前几个阶段,这根据实际情况以及可能造成的危害程度来决定。质量管理、沟通管理以及配置管理是贯穿于整个生命周期的,其基本思想是提高软件的质量,规避可能出现的风险。

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

实验1 软件工程基本概念、工具与研究热点 1.1 软件工程的计算环境 1.实验目的 1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件生存周期过程和软件生存周期 各阶段的定义和内容。 2)通过Internet搜索与浏览,了解网络环境中主流的软件工程技术网站,掌握通过专业网 站不断丰富软件工程最新知识的学习方法,尝试通过专业网站的辅导与支持来开展软件工程 应用实践。 3)通过Internet搜索与浏览,了解主流的软件工具和软件开发环境产品及发展和应用情况。 2.工具/准备工作 需要准备一台带有浏览器、能够访问因特网的计算机。 课内实验学时:2学时 3.实验内容与步骤 1)请查阅有关资料,给“软件”下一个权威性的定义:软件是一系列按照特定顺序组织的 计算机数据和指令的集合。 这个定义的来源是:百度百科(https://www.360docs.net/doc/6b10894527.html,/view/47193.html) 2)“软件生存周期”是软件工程技术的重要基础,是对软件的一种长远发展的看法,这 种看法把软件开始开发之前和软件交付使用之后的一切活动都包括在软件生命周期之内。 查阅有关资料,给出“软件生命周期”的定义:软件生命周期(SDLC,Systems Development Life Cycle,SDLC)是软件的产生直到报废的生命周期。 这个定义的来源是:百度百科(https://www.360docs.net/doc/6b10894527.html,/view/47193.html) 3)“软件生命周期过程”概念进一步完善了关于软件生命周期的定义,其主要内容是: 软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维 护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进, 每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。 这个定义内容的来源是:百度百科(https://www.360docs.net/doc/6b10894527.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. 软件工程过程应该以软件设计为中心,关键是编写程序。(×)

软件工程工具分类(20201111105438)

实验 实验目的与要求 (1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件危机和软件工程基本原理。 (2)理解软件工程环境和工具,熟悉软件工程环境组成和软件工具分类。 (3)通过In ternet 了解软件工程技术网站和主流的软件工程工具等。 实验内容 (1)上网了解查询软件工程网站和相关软件工程知识。 (2)了解软件工程环境概念、层次、组成和开发要求。 (3)查询现有主流的软件工程工具及其功能、用途、特点及适用范围。 (4)浏览CASE工具。通过互联网了解现有的软件工程主流工具,完成表1-2的内容。 表1-2软件工程工具分类

(5)使用一些常用的CASE工具,如 Visio、Rose VSS CVS CVS Project、 PowerDesigne、WinRunner、LoadRunne、Eclipse 等,快速了解他们的基本功能和作用,完成表1-3的内容。 表1-3 一些常用的软件工程工具分析

(6) 软件企业调查。通过各种方式了解企业使用哪些 CASE 工具以及适用环 境,完成表1-4的内容。 表1-4 软件企业使用CASE X 具调查

许可运营商 5?请查阅有关资料,给“软件”下一个定义 6.“软件生存周期”是软件工程技术的重要基础,是对软件的长远发展的看法, 这种看法 把软件开始开发之前和软件交付使用之后的一切活动都包括在软件生存周期之内,请查阅有关资料,给出“软件生存周期”的定义。 7.“软件生存周期过程”概念进一步完善了关于软件生存周期的定义,其主要内容是: 8.由于工作对象和范围的不同以及经验的不同,对软件生存周期过程中各阶段的划分也 不尽相同。但是,这些不同划分中有许多相同之处。相关的软件工程国家标准把软件生存周期划分为8个阶段,这8个阶段是: 你认为把软件生存周期划分为不同阶段的意义何在? 9.上网搜索和浏览,了解软件工程技术的应用情况,看看哪些网站在做着软件工程的技术支持工作?并将搜索结果记录下来。 你习惯使用的网络搜索引擎是: 你再本次搜索中使用的关键词主要是: 网站名称网址内容描述 在本实验中将你感觉比较重要的2个软件工程专业网站记录下来。 10.综合分析,你认为各软件工程专业网站当前技术热点是:

软件工程简答题

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

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

软件工程传统软件工程方法学

浅识传统软件工程方法学 传统方法学又称生命周期方法学或者结构化范型。它采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。一个软件从开始计划到废止不用称为软件的生命周期。在传统的软件工程方法中,软件的生存期分为定义时期、开发时期、使用和维护时期这几个阶段。 定义时期包括:问题定义、可行性研究、需求分析,定义时期的任务是确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并制定工程进度表。 开发时期包括:总体设计、详细设计、编程和测试,其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。 使用和维护时期包括:维护,维护时期主要的任务是使软件持久地满足用户的需求。 定义时期在可行性研究时系统流程图作为描绘物理系统的传统工具。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程。不过在目前实际的软件开发中,通常不使用流程图,而直接通过编程完成详细设计。 传统软件工程方法的前期工作主要集中在分析和设计阶段,在需求分析过程中实体一关系图(ERD),数据流图(DFD)和状态转换图(STD)用于建立3种模型。其中实体一关系图(ERD)用于建立数据模型的图形,数据流图(DFD)是建立功能模块的基础,状态转换图(STD)是行为建模的基础。 在开发时期设计过程中各个阶段运用不同的工具。过程设计的工具有程序流程图、盒图、PAD图、判定表、判定树,接口设计和体系结构设计的工具都是数据流图,数据设计工具则有数据字典、实体-关系图。总体设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计中程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。然后把设计结果转换为可执行的程序代码,实现完成后的确认,保证最终产品满足用户的要求。 维护过程包括使用过程中的扩充、修改与完善,用于改正错误或满足新的需要。 传统软件工程方法,即结构化方法面向的是过程,它按照数据变换的过程寻找问题的结点,对问题进行分解。传统软件工程方法的功能,基于模块化,自顶向下,逐步求精设计、结构化程序设计技术基础上发展起来,系统是实现模块功能的函数和过程的集合,用启发式规则对结构进行细化。 传统软件工程的优点,把软件生命周期划分成若干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发工程的困难程度;在软件生命周期的每个阶段都采用科学的管理技术和良好的技术方法,而且在每个阶段结之前都从技术和管理两个角度进行严格的审查,合格之后才开始下一阶段的工作,这就使软件开发工程的全过程一种有条不紊的方式进行,保证了软件的质量,特别是提高了软件的可维护性。

相关文档
最新文档