《软件工程》实验指导书(实验一)

《软件工程》实验指导书(实验一)
《软件工程》实验指导书(实验一)

实验1软件工程概念与相关工具

1.1 软件工程的计算环境

(实验估计时间:90 分钟)

1.1.1 背景知识

软件工程学主要研究如何以较少的代价获得高质量的软件,而要达到这个目的,就必须研究软件开发方法和软件开发工具。软件开发方法就是开发软件的规化方法。软件工具是指能支持软件生存周期中某一阶段(如系统定义、需求分析、设计、编码、测试或维护等)的需要而使用的软件系统;软件开发环境则是面向软件整个生存周期,为支持各个阶段的需要,在基本硬件和宿主软件的基础上使用的一组软件系统。软件工具和软件开发环境都是软件工程的重要支柱,对于提高软件生产率,改进软件质量,以及适应计算机技术的迅速发展有着越来越大的作用。

从20世纪70年代末开始,专家们就致力于软件开发自动化工具的研究,并逐步形成了应用于软件过程的集成的项目支撑环境(Integrated Project Support Environment)和计算机辅助软件工程(CASE,Computer-Aided Software Engineering)工具。在此基础上建立集成式软件开发环境,全面支持软件开发过程,以期实现软件设计过程的自动化或半自动化。

1.1.2 实验目的

1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件生存周期过程和软件生存周期各阶段的定义和容。

2)通过 Internet 搜索与浏览,了解网络环境中主流的软件工程技术,掌握通过专业不断丰富软件工程最新知识的学习方法,尝试通过专业的辅助与支持来开展软件工程应用实践。

1.1.3 工具/准备工作

在开始本实验之前,请预习教科书第一章的相关容。需要准备一台带有浏览器、能够访问因特网的计算机。

1.1.4 实验容与步骤

1)请查阅有关资料,给“软件”下一个权威性的定义:

软件(中国大陆及用语,作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。另也泛指社会结构中的管理系统、思想意识形态、思想政治觉悟、法律法规等等。

这个定义的来源是:baike.baidu./view/37.htm

2)“软件生存周期”是软件工程技术的重要基础,是对软件的长远发展的看法,这种看法把软件开始开发之前和软件交付使用之后的一切活动都包括在软件生存周期之。

请查阅有关资料,给出“软件生存周期”的定义:

软件生存周期(SDLC,软件生命周期)是软件的产生直到报废的生命周期,周期有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。

这个定义的来源是:baike.baidu./view/178747.htm

3)“软件生存周期过程”概念进一步完善了关于软件生存周期的定义,其主要容是:

软件工程的传统途径是"生命周期法",强调"结构化分析,结构化设计".

1. "生命周期法"的起源

人类解决复杂问题时普遍采用的一个策略是"各个击破",也就是对问题进行分解,然后再分别解决各个子问题的策略.

软件工程采用的"生命周期法",就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生存的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后再逐步完成每个阶段的任务.

2.1 软件生命周期

2. 生命周期划分的原则

各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理.

3. 生命周期的划分

软件生命周期一般分为:软件定义(问题定义,可行性研究,需求分析),软件开发(总体设计,详细设计,编码和单元测试,综合测试),软件使用与维护等三个时期.

生命周期法各阶段的工作小结

生命周期法各阶段的工作小结

2.1 软件生命周期

4. "生命周期法"的特点

阶段具有顺序性和依赖性

推迟实现的观点

质量保证的观点

每个阶段都必须完成规定的文档

每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误.

这个定义容的来源是:wenwen.soso./z/q50212169.htm

4)由于工作对象和围的不同以及经验的不同,对软件生存周期过程中各阶段的划分也不尽相同。但是,这些不同划分中有许多相同之处。相关的软件工程国家标准把软件生存周期划分为8个阶段,这8个阶段是:

①系统分析

②可行性分析

③需求分析

④概要设计

⑤详细设计

⑥编写代码

⑦用户测试

⑧运行与维护

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

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

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

目前软件工程9个专业的容和就业情况如下:

1 可视化编程

掌握程序设计方法及可视化技术,精通一种可视化平台及其软件开发技术。获取Delphi程序员系列、Java初级或VB开发能手认证。

就业方向:企业、政府、社区、各类学校等可视化编程程序员。

2 WEB应用程序设计

具有美工基础和网页动画设计能力,掌握交互式网页程序的设计技术,能进行建设和维护。获取Macromedia多媒体互动设计师或Delphi初级程序员或Delphi快速网络开发工程师认证。

就业方向:企业、政府、社区、各类学校等WEB应用程序员。

3 软件测试

掌握软件测试的基本原理、方法和组织管理,精通软件测试工具。获取ATA软件测试工程师或Delphi初级程序员或Java初级程序员认证。

就业方向:企业、政府、社区、各类学校等软件测试员。

4 数据库管理

能应用关系式进行数据库设计,精通SQL语言,胜任数据库服务器管理与应用工作。获取Oracle数据库管理或SQL Server数据库应用或Windows XP应用认证。

就业方向:企业、政府、社区、各类学校等部门的中、大型数据库管理员。

5 图形图像制作

精通国际上流行的图形/图像制作工具(如CorelDraw、Photoshop、Pagemaker等)。获取平面设计师相关的认证。

就业方向:广告制作公司、建筑设计公司、包装装璜设计公司、居室装修公司、出版印刷公司。

6 网络构建技术

熟悉网络结构和组网方式,掌握建网方法,能利用工具分析和排除常见网络故障。获取Cisco 路由配置或华为网络工程或AMP应用工程师认证。

就业方向:企业、政府、社区、各类学校等网络构建工程师。

7 网络系统管理

掌握网络系统管理的基本知识与应用技能,能进行网络系统的安全设置。获取Window2000 Server或TurboLinux TLCE或Cisco路由配置专家认证。

就业方向:企业、政府、社区、各类学校等网络系统管理员。

8 多媒体制作

具有多媒体程序设计与多媒体制作策划的能力。基本掌握面向对象程序设计与建模、造型设计、场景设计、分镜头原理等技能。获取多媒体设计师相关的认证。

就业方向:多媒体设计与制作公司、动画美术制作出版公司、广告制作公司。

9 计算机办公应用

精通办公自动化应用与管理,熟悉服务器的安装、管理和维护,基于应用服务器的相关服务和软件系统,具备对服务器的网络安全设置、、网页发布、FTP、OA、BBS等系统的应用和维护能力。

就业方向:企业、政府、社区、各类学校等系统管理

提示:一些软件工程专业的例子包括

https://www.360docs.net/doc/556163851.html,(软件工程专家网)

https://www.360docs.net/doc/556163851.html,(系统分析&软件工程网)

https://www.360docs.net/doc/556163851.html,(软件工程研究中心)

https://www.360docs.net/doc/556163851.html,(火龙果软件工程-UML 软件工程组织)

你习惯使用的网络搜索引擎是:百度、google

你在本次搜索中使用的关键词主要是:软件工程的现状与未来

表 1-1 软件工程专业实验记录

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

①名称:

②名称:

综合分析,你认为各软件工程专业当前的技术(如培训容)热点是:

①名称:

主要容:

②名称:

主要容:

③名称:

主要容:

1.2 工具、环境与CASE

(实验估计时间:90分钟)

1.2.1 背景知识

软件工程的主要目标是提高软件生产率,改善软件质量和降低软件成本,而这些目标的实现必须依靠软件工具、软件开发环境和计算机辅助软件工程(CASE)的广泛应用。

1. 软件工具

软件工具是“可用来帮助和支持软件需求分析、软件开发、测试、维护、模拟、移植或管理等目的而编制的计算机程序或软件。”它一般是为专门应用而开发,其主要目的是为了提高软件生产率和改善软件的质量。如今,软件工具重视用户界面的设计,不断地采取新理论和新技术,正由单个工具向多个工具集成的方向发展,且注重工具间的平滑过渡和互操作性。软件工具的商品化推动着软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。

软件工具的围很广,它既包括比较成熟的传统工具,如操作系统、编译程序、解释程序和汇编程序等,又包括支持软件生存周期各阶段,如需求分析、设计、编码、测试、维护等的开发和管理工具。例如,一项分类标准把软件工具分为13类,它们是系统模拟和模型工具、需求追踪工具、需求分析工具、设计工具、编码和单元测试工具、测试和集成工具、文档工具、项目管理工具、配置管理工具、质量保证工具、度量工具、软件再用工具、其他工具。

2. 软件开发环境

软件开发环境是指在计算机基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。1985年第八届国际软件工程会议提出的关于“软件开发环境”的定义是:“软件开发环境是相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成。”

一般说来,软件开发环境都具有层次式的结构,例如可区分为四层:

1)宿主层:它包括基本宿主硬件和基本宿主软件。

2)核心层:包括工具组、环境数据库、通信设施和运行时刻支持设施。

3)基本层:包括一组工具,如编译程序、编辑程序、调试程序、连接程序和装配程序等。这些工具都是由核心层来支持的。

4)应用层:以特定的基本层为基础,包括一些补充工具,借以更好地支持各种应用软件的研制。

按容分,软件开发环境一般由环境数据库、接口软件和工具组等构成。

1)环境数据库。这是软件开发环境的核心,其中存放的信息有被研制软件在其生存周期中所必需的信息和软件研制工具的有关信息等。例如,它把经过各种软件工具加工后的软件产品和半成品(如各种文件、源代码及测试数据)存入库,以便根据需要进行查询、修改或输出等。在环境数据库中,可以分别标识的信息组称为对象;作为一组相关的版本而存在的一组对象称为版本组。把一个项目中各个不同的“对象组”组合起来,就可以构

成各种不同的软件配置。

2)接口软件。包括系统与用户的接口、子系统和子系统之间的接口。开发环境要求所有的接口都具有统一性。例如,为了实现用户和各种系统的通信,要求有统一调用方式。

3)工具组。软件开发环境中的工具彼此有交互作用。工具组中的各个工具被设计成由一些基本功能成分组成。这些成分可以组合,供用户选用,并且可通过环境数据库进行通信。

?语言工具。它一般提供编译(或解释)程序、连接装配程序、调试程序、静态及动态分析程序等一系列语言支撑工具。也有的系统支持非过程语言的运行。

?质量保证工具。目前大量使用的仍是静态、动态测试技术以及各种形式的评审技术。与形式方法相联系的程序证明和验证技术已为许多专家所重视。

?需求分析及设计工具。主要由文本编辑工具、图形工具及一致性检验工具等支持。

?配置管理工具。对于不同用户或不同的硬件配置,一个系统往往需不同的软件配置;即使同一软件也有不同的版本;加上软件产品的修改需要进行严格的管理等

原因,软件的配置管理已成为软件生产管理的重要课题。

软件开发环境的发展方向是集成化的软件工程环境,即软件生存周期中各个阶段的开发环境(工具与支持系统)集成为一致的用户接口,包括制定各种标准接口。以下一些名称具有相同或类似的含义:软件开发环境(SDE)、软件工程环境(SEE)、软件支持环境(SSE)、项目支持环境(PSE)、自动开发环境(ADE)、集成化程序设计环境(IPE)、工具盒(Toolbox)、工具箱(Toolkit)。

3. 计算机辅助软件工程(CASE)

CASE 是一组工具和方法的集合,用来辅助软件开发生命周期各阶段进行软件开发,它是软件开发管理、软件开发方法、软件开发环境和软件工具等方面研究和发展的产物,CASE 把软件开发技术、软件工具和软件开发方法集成到一个统一的框架中,并且吸取了计算机辅助设计(CAD)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。因而,从产业角度讲,CASE 是种类繁多的软件开发和系统集成的产品及软件工具的集合。

CASE 可以简单到单个工具,它支持某个特定的软件工程活动,或者复杂到一个完整的环境,包含了工具、数据库、人员、硬件、网络、操作系统、标准以及许多其他部件。

CASE的构造积木块如图 1-1 所示。

每个构造积木块是形成其上一层的基础,而 CASE工具位于构造积木块的顶部。环境体系结构由硬件平台和操作系统(包括网络和数据库管理软件)构成,铺设了CASE的基石。但是,CASE 环境本身要求其他的构造积木块。一组可移植服务提供了CASE工具及其集成框架与环境体系结构间的连接桥梁。集成框架是一组专用程序,它们使得单个的 CASE 工具可以和其他工具相互通信,能够创建项目数据库,以及使终端用户(软件工程师)看到同样的软件界面。可移植服务允许CASE工具及其集成框架能够跨越不同的硬件平台和操作系统使用,而不需要大量的相应修改。

某些CASE工具保持“点解决方案”,即工具被用于辅助某个特定的软件工程活动(如分析建模),但并不直接和其他工具通信,不关联到一个项目数据库,也不是某个集成CASE 环境的一部分。这种方案虽然不很理想,但CASE工具仍可以被有效地使用。

对 CASE 工具的分类,可以根据功能、它们被作为管理工具还是技术工具、它们在软件工程过程各个步骤中的使用、支撑它们的环境体系结构(硬件和软件)、或者它们的起源或价格来划分。

按使用的功能来进行分类,主要有:

?信息工程工具。

?过程建模和管理工具。

?项目计划工具。

?风险分析工具。

?项目管理工具。

?需求跟踪工具。

?度量和管理工具。

?文档工具。

?系统软件工具。

?质量保证工具。

?数据库管理工具。

?软件配置管理工具。

?分析和设计工具。

?原型和仿真工具。

?界面设计和开发工具。

?原型工具。

?编程工具。

?集成和测试工具。

?静态分析工具。

?动态分析工具。

?测试管理工具。

?客户/服务器测试工具。

?再工程工具。

4.GB/T15853—1995软件支持环境

GB/T15853—1995《软件支持环境》规定了软件支持环境(software support environment)的基本要求,软件开发支持环境的容及实现方法,以及对软件生存期支持部门软件支持能力的具体要求,适用于软件支持环境的设计、建立、管理和评价。

GB/T15853—1995 定义的软件支持环境由一个宿主机系统,加上其他有关的设备和规程而构成。它能对目标机系统(或对功能和物理上相关的一组目标机系统)的软件提供全面的支持,包括性能评价、系统与软件生成、开发与修改测试、模拟与仿真、培训、软件集成、配置管理、软件的运行分配。

软件支持环境又分为软件开发支持环境和软件生存期支持环境两种类型。前者是由软件开发单位确定、并经任务委托单位认可的资源,用于支持合同项目中的软件需求;而后者是由软件生存期支持部门使用的(属于任务委托单位的)资源,用于为指定的目标机系统提供整个生存期的软件支持。

1.2.2 实验目的

1)熟悉软件工具、软件开发环境以及 CASE 工具的基本概念及其分类。

2)了解主流的软件工具和软件开发环境产品。

3)通过 Internet 搜索与浏览,了解软件工具、软件开发环境和 CASE 工具的发展与应用状况,进一步掌握通过专业丰富软件工程最新知识的学习方法,尝试通过专业的辅助与支持来开展软件工程应用实践。

4)了解 GB/T15853-1995《软件支持环境》的相关容。

1.2.3 工具/准备工作

在开始本实验之前,请预习教科书第一章的相关容。请联系指导老师或者熟识软件工程技术的人士,如软件企业的职员和具有丰富开发经验的老师等,了解他(她)们所在的企业或开发团队在软件研发活动中,是否使用以及使用了哪些软件工程的工具和开发支持环境,在什么地方可以找到关于这些软件工具、开发环境和 CASE 工具的技术资料和信息。

需要准备一台带有浏览器、能够访问因特网的计算机。

1.2.4 实验容与步骤

在本实验中,我们复习相关的技术概念,列举并简单介绍一些主流和优秀的软件工具、软件开发环境和 CASE 工具产品。

1. 软件工具、开发环境和 CASE 的概念

在软件工程技术中,无论采用哪一种开发方法,重要的是要尽可能地使用自动化工具来提高系统开发工作的速度和质量。

1)请查阅有关资料(例如教材、本实验的“背景知识”和专业等),结合自己的理解,给出“软件工具”、“软件开发环境”和“CASE 工具”的定义:

①软件工具:

软件工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系统。它是为专门目的而开发的,在软件工程围也就是为实现软件生存期中的各种处理活动(包括管理、开发和维护)的自动化和半自动化面开发的程序系统。

②软件开发环境:

软件开发环境(Software Development Environment,SDE)是指在基本硬件和宿至软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。

③ CASE 工具:

CASE的一个基本思想就是提供一组能够自动覆盖软件开发生命周期各个阶段的集成的、减少劳动力

的工具。CASE工具由许多部分组成,一般我们按软件开发的不同阶段分为上层CASE和下层CASE产品。上层或前端CASE工具自动进行应用的计划、设计和分析,帮助用户定义需求,产生需求说明,并可完成与应用开发相关的所有计划工作。下层或后端CASE工具自动进行应用系统的编程、测试和维护工作。提示:在实际应用中,并不是所有支持系统开发的工具都被供应商称为CASE工具,如今的供应商有可能把他们的工具称为可视化建模工具、集成应用开发工具或往返工程工具等。

2)请填写以下术语的英文缩写,并思考、理解其含义。

①软件开发环境:Software Development Environment,简称SDE

②软件工程环境:SoftWare Engineering Environment ,简称SEE

③软件支持环境:Software support environment ,简称SSE

④项目支持环境:Project support environment 简称PSE

⑤自动开发环境:Automatic Development Environment,简称ADE

⑥集成化程序设计环境:Integrated programming environment,简称IPE

⑦工具盒:Tool Box,简称TB

⑧工具箱:Toolbox,简称Tb

3)GB/T15853—1995《软件支持环境》规定的软件支持环境的基本要:

承办单位必须规定、实现并集成全部软件及有关项目,以用于开发和支持按合同应交付的软件。承办单位还必须确定应推荐给软件生存期支持部门的全部软件,以便支持按合同交付的软件在整个生存期正常运行。此外,还必须向软件生存期支持部门提供一些方法,以保证其有能力执行对按合同交付的软件的支持。必须在承办的软件项目未开工前,先将所提供的方法报送任务委托单位审批。

2. Microsoft Visio

Visio 实际上只是一个绘图工具。但是,由于其所具有的强大的专业绘图功能,系统分析员可以用 Visio 来创建 CASE 应用中所需要的任何系统模型。

Visio 带有一个绘图模板集,包含了用于各种商业和工程应用的符号。其中的软件和系统开发模板提供了流程图、数据流图、实体-联系(E-R)图、UML 图以及其他许多图形符号。模板提供了一个用于存储图表元素的定义和描述信息的有限资料库。尽管 Visio 并没有提供用于系统项目开发的完整资料库,但许多系统开发人员还是喜欢 Visio 所提供

的绘制必要图表的灵活性。

请通过网络搜索,简单了解和体会 Visio 工具的应用状况:

Visio是一款图形制作软件,功能强大,风靡全球,不但能绘制各种各样的专业图形,还可以绘制丰富的生活图形,工程技术人员经常用到它。编程用的流程图,工业的工艺流程图等等。

3. Visible Analyst

集成应用程序开发工具Visible Analyst是可视系统公司(.visible.)的产品。这种工具使得绘制典型的传统模型如数据流图和E-R图更加容易,同时也能支持面向对象UML模型。Visible Analyst包含了一个用于定义系统组件并提供错误检测以及一致性检验支持的资料库。

请通过网络搜索,简单了解和体会 Visible Analyst 工具的应用状况:

4. Oracle Designer

Oracle公司(.oracle.)将Oracle Designer描述成—个工具集。该工具集用来记录定义并快速构造灵活、图形化的客户-服务器应用。它常常与Oracle Developer集成在一起。而Oracle Developer是一个用于在Oracle关系数据库上创建 GUI应用的开发工具。Oracle Designer包括一个完整的资料库,具有图形表示功能和代码生成功能,是一个支持传统的系统开发方法的集成CASE工具。

用于分析的系统模型程序包括一个过程模型程序、功能等级绘图程序、数据流绘图程序以及 E-R 绘图程序。Design Transformer 以及 Design Editor 使用它所生成的图表以及资料库中的详细定义来创建数据库和应用逻辑。

请通过网络搜索,简单了解和体会 Oracle Designer 工具的应用状况:Oracle Designer 工具是SQL server的升级,所以它主要应用于设计数据库,比如用于创建数据库,Tablespalce,User,用户表,等等。

5. Rational Rose

作为 UML 支撑环境的 Rational Rose 可视化建模工具,如今已是 IBM 公司的专门用来支持面向对象方法的工具。Rational Rose 可用于 Rational 统一过程(RUP)或使用 UML 图表的任何方法。该工具除提供资料档案库外还提供逆向工程和代码生成能力,同时也能和其他工具结合使用,从而提供一个完整的系统开发环境。

UML 是一种面向对象分析与设计(OOA&D)方法的可视化建模语言,适用于以面向对象技术来描述任何类型项目,适用于系统开发的不同阶段,包括需求规格描述直至系统实现后的测试、维护和发布等。而 Rational Rose 则是实现这种建模语言的工具,相当于 UML 的编译与解释系统。Rose 是一个以 UML 语言为基础的软件支撑环境,即面向对象的 CASE 工具。

请通过网络搜索,简单了解和体会 Rational Rose 工具的应用状况:

Rational Rose是基于UML的可视化建模工具,那首先要看看UML有什么用了。UML全称叫Unfied Modeling Language,顾名思义,UML是一种语言,一种表示法,就是一种交流沟通的工具,特别适用于软件密集型系统的表示。

UML的统一性(Unified)表现为以下几点:

(1)、 UML是人类思想和计算机代码的一个连接桥梁

大家都知道,计算机能直接识别的语言就是二进制的CPU指令,早期工程师门都是直接写这些指令输入给计算机直接执行的,非常痛苦;

后来就出现了更好理解的汇编语言,之后就出现了各种各样更加容易理解和编写,更加接近人类语言的计算机高级语言,什么VB啊、DELPHI、JAVA等等。

所以从一个角度来看,其实计算机软件的发展史,可以算是一个解决计算机语言和人类语句差异性问题的历史,就是说如何让开发语言更加接近人类语言。

(2)、 UML所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。

(3)、 UML所用的语言元素基本都是图形化的,便于理解和沟通,不但开发人员之间可以用来交流,客户和开发人员之间也可以用它作为交流的工具。

目前版本的Rational Rose可以用来做以下一些工作:

1、对业务进行建模(工作流);

2、建立对象模型(表达信息系统有哪些对象,它们之间是如何协作完成系统功能的);

3、对数据库进行建模,并可以在对象模型和数据模型之间进行正、逆向工程,相互同步;

4、建立构件模型(表达信息系统的物理组成,如有什么文件、进程、线程、分布如何等等)

5、生成目标语言的框架代码,VB、JAVA、DELPHI 6. Together Soft

往返工程是软件工程工具中的一个新概念。由于系统开发是经常反复的过程,尤其在面向对象方法中。因此,对图形模型(例如类图)和生成程序代码进行同步操作是很重要的。比如,如果分析员改变了程序代码,那么类图也需要更新。同样地,如果类图改变了,那么程序代码也要更新。往返工具将自动地完成两个方向上(往返)的同步过程。

Together Soft公司(.togethersoft.)在其称为Together的工具中首先采用了往返工程。Together使用UML图表和几种不同的面向对象编程语言来对往返工程提供支持。如果开发人员喜欢书写代码来定义类,则类图会自动更新。如果开发人员喜欢先绘制类图,则定义类的代码会自动随之更新。

请通过网络搜索,简单了解和体会 Together Soft 工具的应用状况:

Together的处境是非常微妙的,在被Borland收购之前,它的市场分额就已经直逼Rational Rose 系列,并且提供了Rose所不具备的很多功能,但是Rational公司的光环太过于眩目而令Rose增色不少,再加之其庞杂的RUP过程的支撑,一度使得Rose成为软件建模的代名词。

在Borland一连串的收购动作中,Together也进入了Borland的怀抱,成为Borland整个软件开发生命周期管理套件(Application Lifecycle Management)中必不可少的一个重要组成部分,从此Together也就没有了前世,人们再提到Together想起来的就只有Borland了,而Together也成为Borland同IBM(Rational)以及Microsoft(Visio)博弈的重要武器。打上了具有传奇色彩的Borland 的烙印,对于Together来说应当算是一个好事情,但是Borland的历史往往都是悲壮的历史,看看Borland的软件蓝图,我们就会了解到,它横跨了J2EE以及.NET两大阵营的几乎所有领域:

Windows/Linux/应用服务器/建模/开发/测试/协作/部署等等,方方面面覆盖到了极致。我没有能力来评判Borland这样做是否是正确的,但是目前Borland公司的确处在一个越来越尴尬的境地,资源远不如IBM和MS,资金同样如此,与其这样广而博,还不如专攻其中的一个领域会更好,战线拖得太长,迟早会有断裂的一天,那时候在选择彻底倒向哪一边就为时已晚了。Together处在这样的公司之,也就不完全是一件好事情了。一个好的选择是SUN+BEA+Borland,就可以和IBM/Microsoft来一个三足鼎立了,可惜这只是痴人说梦了。

接触Together是在其4.0-5.0的时候,那时候的第一感觉就是这家伙不是给我们这些平民百姓准备的,因为他太吃存了,几乎打开了Together就不能再工作了, ,也难怪,这是Java应用程序的通病,现在我1G的存打开Together 6.2还是非常的吃力,不过随着Java虚拟机性能的逐步改善,这个情况比以前要好很多。

上面基本上都是一些题外话,在这篇随笔当中我会以Together Control Center 6.1/6.2 以及Together for https://www.360docs.net/doc/556163851.html, 2003 V2.0为依托来描述在实际项目中的运用,其间也会和Rose 2003 / XDE 进行一些对比,当然由于自身能力所局限,我也只能尽我所能来展示了。之所以选择这个版本是因为这是目前最新Release出来的版本,其改进也逐渐成熟,尤其是Together for VS 2.0。

Together的版本有很多,主要如下:

Together ControlCenter :最完备的一个版本,简称为TCC。

Together Solo :提供给小型Team使用的版本。

Together Edition for JBuilder :和JBuilder集成的版本(他的集成方式不是作为插件,而同样是独立的一个Application,只是它能感知到JBuilder的IDE存在,并自动进行双向同步) Together Edition for Eclipse

Together Edition for WebSphere Studio

Together Edition for SAP NetWeaver Studio

Together Edition for Microsoft Visual Studio .NET

Together Edition for C++BuilderX

7. Embarcadero Describe

Embarcadero Describe(.embarcadero.)是包含面向对象建模以及往返工程特征的一个新产品。Describe企业版的一个很重要的特征就是为分析和设计提供灵活的UML建模功能,包括基于Java的往返工程。Describe开发工具可以将包括 JBuilder和Sun Forte在的几个Java开发工具集成进来。

请通过网络搜索,简单了解和体会 Embarcadero Describe 工具的应用状况:一款UML设计解决方案,可以让软件开发小组即时看见你的源代码,它增加了一组强力的管理代码的可视化工具,该工具可以融合到现有的开发环境中。

允许你为你的软件应用程序创建蓝图,提供了一个清晰的实现路线图,让开发人员的学习曲线降低。代码和UML 的模型完全同步,可加速开发速度。可在UML图上直接导航和管理代码。

Embarcadero的UML设计和建模产品Describe Version 6.1引入了对Microsoft Visual C# .NET 的支持,以及对Microsoft Visual Studio .NET的全面指南。

Embarcadero? Technologies, Inc. (Nasdaq: EMBT),应用程序和数据库生命期管理解决方案的领先者,今天宣布公司基于UML的集成建模开发环境(Integrated Modeling Development Environment,IMDE)产品Describe?将在即将发布的 6.1 Enterprise引入对Microsoft Visual C# .NET语言的支持。除了对Visual C# .NET 的增强之外,公司计划在Microsoft Visual Studio .NET 2003集成开发环境(IDE)部提供全面的IMDE支持,使Visual Studio应用建模者和应用开发者在Visual Studio .NET 2003 IDE能无缝使用Describe的直观而强大的建模特性。

Describe的行动展示了Embarcadero为广阔领域的客户提供end-to-end,平台独立,模型驱动分析设计环境的承诺。

“在开发项目时,可能有许多涉众,从Visual C# .NET开发人员到SQL Server DBA到业务单元经理,清楚传递应用架构的信息是至关重要的”,Microsoft平台和推广部首席产品经理 Prashant Sridharan说。

一款可以帮助你以比以往更快速的创建灵活性和可靠性更高的应用程序。Embarcadero.Describe.Enterprise可以让软件开发小组即时看见你的源代码,该工具可以融合到现有的开发环境中并有一个强大的代码控制工具包。

8. CASE Studio

CASE Studio 是一个专业的数据库设计工具。它可以透过 E-R 图、数据流程图来设计各种数据库系统(如 MS SQL,Oracle,Sybase 等),另外,程序还提供了各种各样的管理单元来提供设计帮助。

请通过网络搜索,简单了解和体会 CASE Studio 工具的应用状况:

9.Sybase Power Designer

Sybase Power Designer 提供了一个完整的建模解决方案,业务人员、系统分析人员、设计人员、数据库管理员和开发人员等可以对其裁剪以满足他们的特定需要;而其模块化的结构提供了极大的灵活性,从而使开发单位可以根据其项目的规模和围来使用他们所需要的工具。

Power Designer 灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据

库或数据仓库,而不要求严格遵循一个特定的方法学。Power Designer 提供了直观的符号表示使数据库的创建更加容易,并使项目组的交流和通信标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。

请通过网络搜索,简单了解和体会 Power Designer 工具的应用状况:

从某一层面来讲,上面的这图表并不能完全说明问题,这是因为软件开发管理工具的围太大了,比如说 ERWin 和 Power Designer 的核心在于数据库设计,虽然

Power Designer 也可以作系统架构设计与分析,但是由于历史的原因使得大家往往仅仅会在数据库设计的时候才会考虑到它.而 Together,Rational

Rose/XDE,Rational Software Architect 都属于系统架构设计工具, 同时可以关联到需求与代码实现的辅助工具. Visio 只能称之为图而形绘制工具,而绝对不能和上面这三个工具相提并论的,适用 Visio 做流程规划和分析都是可以的,但是,它不能做设计, 至少到目前最新的版本为止, 它的设计功能都是十分微弱的, 这一点连微软顾问服务部的人都承认 Visio 与 Rose 不是同一个档次上的工具. 这图在一定程度上表明了下面几个情况:

对于数据库建模工具,现在 Power Designer 的市场分额远大于 ERWin 的,而且在平时的开发过程中我们可以看到 Power Designer 的市场宣传活动也要比

ERWin 积极很多,我们很少见到关于 ERWin 的产品宣传与推广.加上 Power

Designer 是一些华人参与开发的,所以,更使得中国人对其有着较深的感情而倾向于使用它。

10.MI WinRunner 和 LoadRunner

如果没有一个完善的测试管理解决方案作为有力保障,那么软件项目的策划、开发、实施、推广都将非常困难。为此,Mercury Interactive公司(美科利(中国)公

司,.mercury./cn/)提供了被称为“应用实施方案(AD,application delivery)”的软件测试套件,通过测试管理提供工作效率,通过功能测试和压力测试实现对软件质量的严格控制,通过软件更新流程来控制软件更新的风险。

Mercury 的 BTO(business technology optimization,业务优化科技)行业创新战略提出“从商业的角度管理 IT”,自顶而下地使用户能够从一开始就把 IT 与商务流程紧密联系起来,从而最大化商业运作,而不是把目光集中在类似于路由器、服务器、数据库这样的 IT 基本元素上。Mercury 公司的自动化测试应用实施方案主要采用了该公司BTO 技术中的3个重要产品,即测试管理软件TestDirector、功能测试工具 WinRunner 和

性能测试工具 LoadRunner。

请通过网络搜索,简单了解和体会测试工具WinRunner和LoadRunner的应用状况:

11.Microsoft Project

一般而言,如果没有项目管理软件系统的支持,项目管理的技术和方法的实现是比较困难的,因为不仅需要用模型来描述它们,还需要进行大量的计算。

Microsoft Project 和 Excel 都是实现项目管理技术应用的很好的工具。一项统计调查显示,Project 是最常用的计算机项目管理工具。人们使用 Project 的目的是进行以下工作:项目控制和跟踪、详细的时间安排、早期的项目计划、沟通、报告、高级计划、甘特图、CPM 和 PERT;而人们使用 Excel 的主要目的,是为了进行成本预算、成本分析、方差分析、跟踪和报表,以及创建工作分解结构(WBS)。

Project 可以从项目管理所有9个知识领域的角度来帮助用户辅助实施项目管理,但它主要还是用来辅助项目围、时间、成本、人力资源和沟通的管理。而用户能用好Project 的条件是,他必须理解项目管理的基本概念。

请通过网络搜索,简单了解和体会 Project 工具的应用状况:

12.Microsoft Visual SourceSafe(VSS)

VSS 版本控制系统是 Microsoft 开发的配置管理软件,可用于管理软件和 Web 站点的开发,它可以同 Visual Basic、Visual C++、Visual J++、Visual InterDev、Visual FoxPro 开发环境以及 Microsoft Office 应用程序集成在一起,提供了方便易用、面向项目的版本控制功能。VSS可以处理由各种开发语言、创作工具或应用程序所创建的任何文件类型。VSS 面向项目的特性能更有效地管理工作组应用程序或Web站点开发工作中的日常任务。

请通过网络搜索,简单了解和体会 VSS 工具的应用状况:

13.工具搜索

除了上面简单介绍的容之外,实际上还有许多优秀的软件工具、开发环境和 CASE 工具。请通过网络进行搜索,更为全面地了解这方面的产品及其应用与研究信息。请列举其版本、支持厂商和主要技术容,填入表 1-2 中。

表 1-2 实验记录

14. 应用搜索

请收集一些招募IT专业毕业生的企业的信息,并对其企业资料进行分析。能够从中找到一些关于系统开发方法的信息吗?其中提到任何软件工具、软件开发环境和CASE工具了吗?进一步访问该公司的,看看能否找到更多的相关信息。

1)在本实验中,你关注的相关企业是:

④其他:

综合分析:

2)访问一些重要或著名的 IT 公司,试着找到他们所使用的系统开发方法的信息?其中提到任何软件工具、软件开发环境和 CASE 工具吗?

1.2.5 实例研究(选做)

借助于软件工程的一些思想方法,我们来研究一个“完成大学教育”的实例。作为一位完成学历、攻读学位的在校大学生,考虑把完成大学学业当成是一个项目,这个大项目将持续很多年,并且所花费的甚至将远远多于你和你的家庭的承受能力;一些学生在管理“完成大学学业”这个项目上比其他人做得更好;有不少学生却会完全失败;有些学生则利用学籍管理制度的有关规定延期完成学业并且超出了预算。

像任何其他项目一样,为了获得成功,你应该遵循某些“完成大学教育”的方法,即应该遵循完成从计划开始到成功完成等一系列的活动和任务的准则。尝试规划:1)你的个人大学教育完成生命周期的各个阶段是什么?

2)每个阶段的主要活动有哪些?

3)有助于你完成这些活动的技术有哪些?在完成大学教育的过程中,你可能会创建什么模型?请注意区分你建立的那些使你完成大学教育的模型和那些有助于你计划和控制完成大学教育的过程的模型。

4)有助于你创建这些模型的工具有哪些?

试就上述问题,以“完成大学学业”为题目编写规划报告。

软件工程实验教案网络

课程教案 课程名称:软件工程实验 任课教师:陈利平 所属院部:计算机与信息科学学院 教学班级:计科1301-02网络1301-03 教学时间:2015-2016 学年第2 学期 湖南工学院

课程基本信息

实验一Microsoft Visio软件的使用(选做) 一、实验目的 1.熟悉Visio的工作环境及组成; 2.掌握用Visio软件绘制图表的基本操作; 3.能熟练全用Visio软件绘制各种较复杂的专业图表; 4.掌握各种图表文档创建方法. 二、实验环境 1.安装有Microsoft Visio 2010软件的计算机系统; 2.准备将使用Microsoft Visio 2010绘制图。 三、实验内容 1.熟悉Microsoft Visio 2010的建模环境; 2.根据教材和实验老师的演示,从教材或实验指导书中找到一个数据流图,用Microsoft Visio将它画出。可以使用实验指导书的图1-5所示的数据流图. 3.根据教材和实验老师的演示,从教材或实验指导书中找到一个状态图,用Microsoft Visio将它画出。可以使用实验指导书的图1-9所示的状态图。 4.根据教材和实验老师的演示,从教材或实验指导书中找到一个E-R图,用Microsoft Visio将它画出。可以使用实验指导书的图1-19所示的实体关系图。 四、实验注意事项 在实验过程中,要注意观察Microsoft Visio相关操作的实现。 五、实验成果 完成实验后,每人提供一份实验报告,简述Microsoft Visio的使用、特点、组成及安装要点,重点说明其建模环境及使用,至少包含三个已绘制的Microsoft Visio文件。 六、实验思考 1.反复练习Microsoft Visio绘制各种图。 实验后记: 实验一Microsoft Visio软件的使用(选做) 一、实验目的 1.熟悉Visio的工作环境及组成;

软件工程实验报告

软件工程实验报告 姓名:冯巧 学号 实验题目:实验室设备管理系统 1、系统简介: 每天对实验室设备使用情况进行统计,对于已彻底损坏的作报废处理,同时详细记录有关信息。对于有严重问题(故障)的要即时修理,并记录修理日期、设备名、修理厂家、修理费用、责任人等。对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。新设备购入后立即对新设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。 2、技术要求及限定条件: 采用C#语言设计桌面应用程序,同时与数据库MySql进行交互。系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。方案实施相对容易,成本低,工期短。 一:可行性分析 1、技术可行性分析 计算机硬件设备,数据库,实验室设备管理软件与实验室设备管理系统的操作人员组成,能够实现实验室设备管理的信息化,提高工作效率,实现现代化的实验室设备管理。系统需要满足实验室设备管理(包括对实验设备的报废、维修和新设备的购买)、实验室设备信息查询(包括按类别进行查询和按时间进行查询)、实验室设备信息统计报表(包括对已报废设备的统计、申请新设备购买的统计和现有设备的统计)。这些功能框图如下图所示: 2、经济可行性分析 依据用户的现实需求、技术现状、经济条件、工期以及其他局限性因素等等因素,考虑到工期的长短、技术的成熟可靠、操作方便等因素,本方案具备经济可行性。

3、系统可选择的开发方案 ①方案A用C#开发系统的特点是:开发工具与数据库集成一体,可视化,开发速度较快,但数据库能够管理的数据规模相对较小。系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。方案的实施相对容易,成本低,工期短。 ②方案B:以小型数据库管理系统为后台数据库,该前台操作与数据库分离,也能够实现多层应用系统。系统对硬件的要求居中,特别适合在网络环境下使用,操作方便。但系统得实现最复杂,成本最高,工期也较长。 二:软件需求分析 1.软件系统需求基本描述: 实验室设备管理系统是现代企业资源管理中的一个重要内容,也是资源开发利用的基础性工作。实验室设备在信息化之前,在用户系统管理、设备维修管理、设备的增删改查管理等方面存在诸多不利于管理的地方,不适应现代的企业管理形势和资源的开发利用。 2.软件系统数据流图(由加工、数据流、文件、源点和终点四种元素组成): 1)顶层数据流图 2)二层流程图 3)总数据流图

基础工程-期末考试试卷

华南农业大学期末考试试卷(A卷)(平时作业)2014~2015学年第 2 学期考试科目:基础工程 考试类型:(闭卷)考试考试时间:120 分钟 学号姓名年级专业 一、单项选择题(每题2分,共5题;10分) 1.地基基础计算中の基底压力直线分布法是下列哪种况?(B) A.不考虑地基、基础、上部结构の共同作用 B.考虑地基、基础、上部结构の共同作用 C.考虑地基、基础の共同作用 D.考虑基础、上部结构の共同作用 2.下列钢筋混凝土基础中,抗弯刚度最大の基础形式是(C) A.柱下条形基础 B.十字交叉基础 C.箱形基础 D.筏板基础 3.桩基础设计の基本条件不包括(D) A.单桩承受の竖向荷载不应超过单桩竖向承载力特征值 B.桩基础の沉降不得超过建筑物の沉降允许值 C.对位于坡地岸边の桩基础应进行稳定性验算 D.对于所有の桩基础均应进行稳定性验算

4.某箱形基础,上部结构和基础自重传至基底の压力P=130kPa,若地基土の天然重度为γ=18.5kN/m3,地下水位在在地表下10m处,当基础埋置在多大深度时,基底附加压力正好为零(B) A.d=5.68m B.d=7.03m C.d=8.03m D.d=6.03m 5.当桩产生负摩阻力时,中性点の位置具有以下哪种特性。(C) A.桩端持力层越硬,截面刚度越小,中性点位置越低 B.桩端持力层越软,截面刚度越大,中性点位置越低 C.桩端持力层越硬,截面刚度越大,中性点位置越低 D.桩端持力层越硬,截面刚度越大,中性点位置越高 二、填空题(每题2分,共5题;10分) 1、按地基承载力确定基础底面积及埋深时,传至基础或承台底 4、地基基础设计应满足两种极限状态,分别是正常使用极限状态和承载能力极限状态。

软件工程实验报告最终版

合肥师范学院实验报告册 2012 / 2013 学年第一学期 系别计算机科学与技术系 实验课程软件工程 专业计算机科学与技术 班级2010级计算机应用 姓名马军福董国运李思贤 学号1010411024 1010411008 1010411076 指导教师范庆春

实验一:结构化方法建模的基本应用 1.实验目的 (1)了解Visio工具软件的功能特色、安装、工作环境和基本操作等基本知识; (2)掌握应用Visio工具的基本使用方法和基本绘图操作; (3)熟悉结构化分析建模的基本应用。 2.实验内容 (1)使用Visio 建立期刊管理系统的实体-关系图; (2)使用Visio 建立期刊管理系统的数据流图。 3. 实验要求 使用Visio 建立期刊管理系统的实体-关系图、数据流图。数据流图要绘 制三层。 4.实验结果和体会 (1)需求陈述 在图书管理系统中,管理员要为每个读者建立借阅账户,,账户内存储读者的个人信息和借阅记录信息。持有借阅卡的读者可以通过管理员借阅、归还期刊,读者可通过互联网或图书馆内查询终端查询期刊信息和个人借阅情况,以及续借期刊。 借阅期刊时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息。然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息。最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。归还期刊时,输入读者借阅卡号和期刊号,系统显示读者和期刊的基本信息供管理员人工审核。如果有超期借阅或丢失情况,先转入过期罚款或期刊淘汰处理。然后提交还书请求,系统接受后删除借阅纪录,并登记修改可借阅期刊的数量。 期刊管理系统包括:1.读者信息管理a:借阅请求b归还请求c:查询请求d:修改自身信息2.期刊管理a:修改书目、出版日期、编辑b:增加书目数据、删除书目数据。3.期刊借阅a:增加所借读者信息b:删除所借读者信息4.期刊查询a:已借出图书列表b:未借出图书列表5.期刊的征订6.期刊内容登记题目、作者姓名、作者单位7.期刊内容查询

各大学《基础工程》期末考试试题1(答案)电子教案

各大学《基础工程》期末考试试题1(答案)

一、单项选择题(每小题2分,共20分) 1 以下哪种基础形式不属浅基础(B) A地下条形基础,B沉井基础, C扩展基础, D箱形基础 2 下列钢筋混凝土基础中,抗弯刚度最大的基础形式是( C) A柱下条形基础, B十字交叉基础,C箱形基础, D筏板基础 3 对高层建筑物,其地基变形验算应以哪种变形特征做控制(D) A 沉降量, B 局部倾斜, C 沉降差, D 倾斜 4 地基土载荷板试验可以得到的土参数是(A ) A承载力特征值, B地基沉降量, C压缩模量, E弹性模量 5 用分层总和法计算地基变形时,土的变形指标是采用(B) A弹性模量,B压缩模量, C变形模量, D旁压模量 6 在地基持力层承载力验算中,基础底面深处的荷载取下列哪个值进行计算( A) A:基底压力p, B:基底深度处的土自重应力σc,C:A+B , D: A-B 7 按规范方法计算的建筑物沉降是(D) A.基础的平均沉降, B.刚性基础的平均沉降, C.实际基础的中点沉降, D.不考虑基础刚度的中点沉降 8 甲,乙两基础,底面积,基底压力和压缩层内土质都相同,甲基础埋置深度大于乙基础,则两者的沉降是(B) A甲基础沉降大,B乙基础沉降大, C两者沉降相等, D无法确定9 地下水位下降时,建筑物的沉降可能会(A ) A增大, B减小, C一定不变, D有时增大有时减小 解:地下水位下降时,土的自重应力会增加,从而使建筑物产生附加沉降。 10 桩产生负摩阻力时,下列说法中正确的时(D) A桩距越大,下拉荷载可能越小, B桩身轴力、桩身沉降沿深度逐步衰减, C单桩极限承载力由桩周土总侧阻力和桩端阻力所组成, D采用涂层法措施后,可使桩身负摩阻力、沉降减小,但中性点深度变大二、名词解释(每小题4分,共20分) 1刚性基础:是指用抗压性能较好,而抗拉、抗剪性能较差的材料建造的基础,常用的材料有砖、毛石、素混凝土、灰土等。因此设计时必须保证基础内的拉应力和剪应力不超过基础材料强度的设计值。这类基础的相对 高度都比较大,几乎不可能发生挠曲变形。 收集于网络,如有侵权请联系管理员删除

软件工程数据结构实验教案

实验教案实验一栈和队列 重点: 1.掌握如何使用STL中的栈 2.掌握如何自己编写栈的代码 难点: 用数组实现栈的原理,并能用c++描述 具体实验讲解如下: 本实验是要通过几段代码的编写,熟悉栈和队列的编写和应用 在实验指导书中有4个题目,其中题目1、2、3是关于栈的,题目4是关于队列的。其中题目1难度小,题目2和题目3是有联系的,经过努力可以做出,但是题目4难度大些,属于选作内容 1.题目一(STL中的栈) 读懂实验指导书中的Task1中的程序(使用栈进行序列的顺序反转),并编译运行,通过此了解如果要实现一个栈类,里面需要的基本的成员函数。这个程序在书上也有。 (1)由于程序是用了STL(标准模板库,可以简单的看成是一个函数库,在其中有各种有用的类、函数和算法),栈在其中有实现。栈在STL中的实现用到了类模板,也就是说其栈是独立于类型的,模板提供参数化类型,也就是能将类型名作为参数传递给接收方来建立类或函数。比如stack numbers;中就是声明了一个栈,这个栈中存放的数据类型为double。 (2)注意要使用c++的输入输出需要加上几行语句如下,因为cout和cin是在命名空间std中的: #include using namespace std; 2.题目二、题目三(自己编写栈) 这里可以把题目二和题目三合成一个题目,在一个程序中完成就可以了。 合并后的题目如下:自己编程程序实现一个简单的栈,并用于替换题目1中对标准模板库中的栈的使用,同时对自己实现的栈的功能进行扩充,添加实现如下几个函数 (a) clear (b) full (c) size。 使用新添加的栈函数,显示在进行数字序列反转时输入的十进制数的个数。 注意: (1)实验题目文档中已经把大部分的代码都给出来了。栈可以用链表或者数组实现,这里是 用数组实现。 (2)实验题目中给出的仅仅是部分的代码,自己还需要在看懂的前提下,进行修改补充,才 可以达到具体的要求,不明白的地方也可以参考书上这一部分。 一些补充代码如下:

软件工程实验报告

软 件 工 程 实 验 报 告 班级:计算机科学与技术1102班 学号:1108030209 姓名:蒙雨茹

实验一:使用Microsoft Visio 1.1实验目的: (1)熟悉Visio的工作环境及组成。 (2)掌握Visio软件绘制图表的基本操作。 (3)掌握基本流程图的设计方法。 1.2实验内容: 绘制基本流程图 1.3实验步骤: (1)打开一个模板,,在主菜单中依次选择【文件】->【新建】->【选 择绘图类型】,出现“选择绘图类型”窗口,在【类别】下,单击 【流程图】,在【模板】下,单击【基本流程图】。 (2)添加形状,将【形状】窗口中模具上的自己需要的形状拖到绘图页 面中合适的位置。并添加文本、连接不同形状,使流程图完整的显 现出来。 1.4实验结果:

实验二:数据流图 2.1 实验目的 (1)熟悉Visio的工作环境及组成。 ⑵掌握Visio软件绘制图表的基本操作。 ⑶掌握数据流图的设计方法。 2.2 实验内容 习题3-3,3-4,3-5 2.3 实验步骤 (1)打开模板 ①在主菜单中,依次选择【文件】——【新建】——【选择绘图类型】,出现“选择绘图类型”窗口。 ②在左侧【类别】下,单击【软件】。 ③在右侧【模板】下,单击【数据流模型图】。 (2)绘制顶层图 ①在顶层进程页面中添加、移动图形元素并调整其大小。将所需要元素用鼠标拖动到模板里,添加所需的元素符号。 接口:输入源点或输出终点,其中注明源点或终点的名称。 进程:即处理,输入数据在此进行变换产生输出数据,其中注明进程的名称。数据存储:用于代表系统中存储的信息,其中注明信息的名称。 数据流:被加工的数据及其流向。流线上注明数据名称,箭头代表数据流动方向。 ②向图形元素中添加文本,并修改数据流图中的文字和格式。 连接图形元素。 ③使用“数据流”连接线将“接口”、“进程”和“数据存储”等形状互相连接起来。 逻辑连接:将数据流起点、终点拖拽到进程或接口中央位置,进程或接口被红色框包围时松开鼠标,这时可看到数据流符号相应端点为红色方框。拖动进程或接口,可看到流据流的端点随着进程或接口的移动而移动。

(上课)软件工程实验一

实验指导书 课程名称软件工程导论 学院信息工程学院 班级 学号 姓名 2018年 2 月 24 日 实验名称分析系统业务流程和绘制系统业务流程图 实验目的: 1、掌握结构化分析方法 2、掌握业务流程分析方法和业务流程图的绘制 实验内容: 任务一绘制系统业务流程图 试绘制工资管理系统的系统流程图,根据系统流程图的符号说明仔细理解如图含义: 任务二分析系统业务流程和绘制系统业务流程图 案例一:总务办公管理系统

系统简介:某单位准备开发一个购买办公用品和设备的总务办公管理系统。办公用品的购买申请由各科室提出,由负责总务工作的办公室统一收集。其中,购买申请的金额低于500元(含500元)可以由总务办公室直接审批,而高于500元的购买申请由机构主管领导审批,批准的购买申请形成采购清单由采购员负责购买,同时应记录每次实际购买清单,进行入账。在提出购买申请时要包括下述数据:申请单位、物品名称、物品数量、预计价格、物品用途等。每次购买完成后应记录以下数据:物品名称、物品数量、价格、总金额、购买日期、经办人等。 案例二:火车票预订系统 系统简介:某高校后勤集团为了学生寒暑假返乡,办理代学生预订返乡火车票事务,订票必须提前三天办理,后勤订票处提前三天向火车站办理购票事务。订票处使用一台微机处理订票后购票事务,学生订票一次称为一个事务,由订票员将其输入在微机中,系统核实订单后,将订票信息记录放在订票库中。系统每天打印预订三天的购票单,并更新订票库。 请对以上系统进行业务流程分析后,绘制出该系统的系统流程图。 实验原理: 系统流程图是描绘物理系统的传统工具。是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等等)。表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程。 系统业务流程图的符号:

软件工程实验内容

实验指导(Experiments) 实验题目:在以下范围内任选一道题目或自定一个题目。

题目医院病房监护系统 在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。监视器将病人的病症信号(组合)实时地传送到中央监护系统进行分析处理。在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,当病症出现异常时,系统会立即自动报警,并打印病情报告和更新病历。系统根 据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。

实验内容 实验一软件需求分析 1.实验目的: 1) 根据所选定题目进行需求分析工作; 2) 通过实例掌握结构化数据流分析技术; 3) 进行业务需求分析、用户需求、功能需求、非功能需求分析; 2.实验要求: 要求做到使用结构化数据流分析技术分析课题需求,写出详细的数据流图和数据字典,数据流图的基本处理的个数不得少与2 个。 3.实验内容: 用结构化数据流分析技术进行软件系统需求分析,得出系统得数据流图和数据字典。 4.实验步骤: 1) 通过相关途径进行需求分析。 2) 综合利用Internet 网和相关书籍整理并完善需求分析。 3) 画出系统数据流图。 4) 得出系统数据字典。 5.实验学时:3学时。 6.实验结果:上交实验报告。 实验二软件设计 1.实验目的: 1) 建立初始结构图; 2) 对初始结构构图进行改进、优化; 2.实验要求: 用面向数据流的软件设计技术,对上一实验的数据流图和数据字典,进行总体设计;要求做到对上一实验的软件需求进行软件结构设计。 3.实验内容: 主要解决实现该系统需求的程序模块设计问题。(包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。) 4.实验步骤: 1.首先确定系统总体设计方案。 2.完成系统的模块结构图及模块的功能说明 3.完成系统的接口设计 4.完成系统的数据结构设计 5.实验学时:2 学时。 6.实验结果:上交实验报告。

软件工程实践实验指导书XXXX

《软件工程实践》实验指导书 学院:数学与计算机学院 专业:计算机专业 年级: 指导教师:汪璟玢 系主任(或教研室主任):

本课程实验教学目的和基本要求: 知识方面:通过本课程设计,让学生进一步了解软件项目管理、需求分析、系统设计和软件测试的基本原理和方法,在软件开发的各个阶段熟悉并掌握一种表达工具,实现一个小规模的系统开发。 能力方面:在本课程设计过程中,注重培养学生分析问题和独立解决问题的能力。 素质方面:通过本课程设计,着重培养学生具备以下两方面的良好素质:一是针对实际系统中存在的问题,能够善于运用所学基本理论知识分析问题;二是规范地表达分析和设计方案。 本课程设计要求学生3-6人一组完成一个系统,并按照软件工程的规范形成相关文档资料。 参考资料: 1.《软件工程实践者的研究方法》(第六版)(美)Roger S.Pressman著, 郑人杰马素霞白晓颖译,机械工业出版社 2.《软件工程实践者的研究方法》(第五版)(美)Roger S.Pressman著, 梅宏译,机械工业出版社 3.《软件工程》(第六版)(英)Ian Sommerville著,程一剑陈霞译,机 械工业出版社 4.《软件工程》郑人杰主编, 清华大学出版社 5.《软件工程—理论、方法与实践》孙家广主编,刘强编著,高等教育出版 社

实验一:项目选择与用例图表达 目的:结合具体的项目,要求学生结合用例图和用例文本的方法将系统功 能表达清楚。 内容:项目选择、参与者确定、用例识别、用例间的关系表达,用例文本的表达 要求:能够发现任务与用例的关系、用例间的关系并准确表达、用规范的 用例文本描述用例。 开发环境和工具要求掌握:Windows200 Advanced Server、Rational Rose2003、MS visio2003 实验二:系统需求分析报告—类图 目的:通过本次实验掌握对具体项目进行类的识别和分析,并完成系统类图。 内容:识别类、确定类的属性和操作、分析类间的关系完成类图 要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能 进行类的分析。 开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003、Rational Rose2003 实验三:系统需求分析报告—数据流图 目的:结合具体项目,训练学生的抽象分析及分层描述问题的能力,联系 数据和功能,分层次表达系统的功能。 内容:任务分解;识别外部实体、加工、数据存储和数据流;分层次表达的方法。 要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能 分解进行数据流图的绘制。 开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003

湖大基础工程期末试卷A—带答案

湖南大学课程考试试卷 课程名称:基础工程(一) ;课程编码: 试卷编号: (闭卷);考试时间: ??分钟 题 号 一 二 三 四 五 六 七 八 九 十 总 分 应得 分 实得 分 评卷 人 一、名词解释(每题 分,共 分) 下拉荷载— 软弱地基— 局部倾斜— 复合地基— 二、填空题(每空 分,共 ?分) 墙下钢筋砼条形基础底板厚度主要根据( )条件 确定;而柱下钢筋砼单独基础底板厚度则应根据( )条件确定。 ? 水平受荷桩通常可根据桩的( )分为刚性桩和柔性桩两种。 湿陷性黄土通常又可细分为( )和( )两种。 ? 按静载试验确定单桩竖向承载力时 为了使试验能真实反映桩的实 考试中心填写: ____年___月___日 考 试 用 专业班 级: 学号: 姓名:

际情况 要求在( )土的间歇时间不少于 天、( )土不少于 天及( )不少于 ?天。 ?桩基础按承台位置可分为( )桩基础和( )桩基础两种。 ?砂桩的主要作用是( ),砂井的主要作用是( )。 沉井施工水很深时,筑岛困难,则可采用( )沉井。 根据基础的受力条件,我们可以把砼基础称为( ),而把钢筋砼基础称为( )。 桩按设置效应通常可分为( )桩、( )桩及( )桩三种。 三、辨析题(先判断对错,后简述理由。每题 分,共 分) 桩端嵌入岩层深度大于 ???的桩称为嵌岩桩。 ? ? ?进行钢筋混凝土扩展基础设计时,应该考虑基础台阶宽高比的限制。 ? ? 群桩效应使桩侧摩阻力、桩端阻力的发挥程度降低。 ? ? 砂土液化是由于动水压力(渗流力)作用引起的。 ? ?

?桩的抗拔承载力仅取决于桩土之间的摩阻力与桩身自重无关。 ? ? 四、问答题(下面 题,只选作 题,共 ?分) 减轻不均匀沉降危害的结构措施有哪些? ?影响基础埋置深度的因素主要有哪些? 哪些情况下不能考虑承台的荷载分担效应? 换土垫层的主要作用是什么? ?何谓地基承载力特征值?其常用的确定方法有哪些? 五、计算题(下面 题,只选作 题,共 分) 、已知某钢筋砼条形基础,设计宽度? ??,埋深? ??,基顶面

软件工程测试实验

淮海工学院计算机科学系实验报告书 课程名:《软件工程》 题目:软件测试实验 班级:软件121 学号:2012122722 姓名:朱德坤

软件测试验报告要求 1目的与要求: 1)系统学习和理解结构化软件工程实现阶段的基本概念、原理、技术和方法; 2)掌握软件测试的基本技术和方法,特别是白盒测试与黑盒测试技术和方法; 3)通过实验,要逐步提高白盒测试与黑盒测试技术的实际应用能力; 4)熟悉C++编程环境下编写、调试单元代码的基本操作技术和方法; 5)按照实验题目要求独立完成本次试验任务,严禁拷贝、抄袭他人设计成果; 6)认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例,测试结果分析等),并于5月5日以前提交。 2 实验内容或题目 1.选择结构化详细设计试验中自己设计的某一具有代表性控制结构模块(含有分支和循环结 构),并用C语言实现(提前准备好,每种测试用例分别写在作业本上,上机时带上检查),而后分别完成下述2、3、4各题测试用例设计和测试结果分析; 2.采用白盒测试技术中逻辑覆盖方法(至少包含语句覆盖、判定覆盖、条件覆盖、条件组合 覆盖)设计测试用例,完成测试(测试屏幕截图)和测试结果分析; 3.采用白盒控制结构测试技术的基本路径测试和边界测试方法设计相应测试用例,并完成测 试和测试结果分析; 4.采用黑盒测试技术中的等价类划分方法设计相应测试用例(可重选适合黑盒测试技术的模 块),并完成程序测试和测试结果分析; 3 实验步骤与源程序 程序流程图:

流图:

程序: //拥有超级用户superuser,密码zdk #include #include #include #include #include using namespace std; int PD; //全局判断执行码 void SetPos(int i,int j) //界面光标位置函数{ COORD pos= {i-1,j-1}; HANDLE Out=GetStdHandle(STD_OUTPUT_HANDLE);

软件工程实验指导书71436

软件工程实验指导书 南昌航空大学信工学院 2010年01月

目录 实验1 用PowerDesigner建模工具绘制数据流图 (3) 1 实验环境 (3) 2 实验目的 (3) 3 实验内容 (3) 4 实验要求 (3) 5 实验步骤 (3) 实验2 用PowerDesigner建模工具设计数据库 (5) 1 实验环境 (5) 3 实验内容 (5) 4 实验要求 (6) 5 实验步骤 (6) 实验3 用Microsoft Visio工具设计用户界面 (10) 1 实验环境 (10) 2 实验目的 (10) 3 实验内容 (10) 4 实验要求 (10) 5 实验步骤 (10) 实验4 用Rational Rose绘制用例图 (14) 1 实验环境 (14) 2 实验目的 (14) 3 实验内容 (14) 4 实验要求 (14) 5 实验步骤 (15) 实验5 用Rational Rose工具绘制类图 (18) 1 实验环境 (18) 2 实验目的 (18) 3 实验内容 (18) 4 实验要求 (18) 5 实验步骤 (18)

实验1 用PowerDesigner建模工具绘制数据 流图 1 实验环境 Windows 2000、Sybase公司的Power Designer应用软件 2 实验目的 1)了解Power Designer工具软件的组成及功能 2)掌握Power Designer中的Process Analyst(PA)模块的建 模方法及其工具的使用方法 3 实验内容 1)设计数据流图(DFD) 2)利用外部实体、过程处理、数据流及数据存储绘制数据流图。 4 实验要求 建立一个PAM(Process Analyst Model)的应用实例。 为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位,身份证号码、旅行时间、施行目的地等)输入该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞前一天凭取票通知单和帐单交款取票,系统校对无误即印出机票给旅客。 绘制该机票预定系统的数据流图。注意:功能分解的细化程度视具体情况而定。该实验中分解到第三层止。 5 实验步骤 数据流图是系统处理模型的主要组成部分。其中心问题是把功能逐层分解为多个子功能。 1)建立根处理模型 S1:在Windows桌面上双击Process Analyst程序图标,打开Process Analyst应用程序。 S2:建立一个处理过程P1。单击工具栏中的Process工具,在模型工作区内单击会出现一个处理过程的符号,它是建立的第一个处理过程。单击鼠标右键释放Process工具,再双击新建立的处理过程符号,出现特性对话框,对

(上课)软件工程实验一

实验指导书课程名称软件工程导论 学院信息工程学院 班级 学号 姓名 2018年 2 月 24 日

系统简介:某单位准备开发一个购买办公用品与设备的总务办公管理系统。办公用品的购买申请由各科室提出,由负责总务工作的办公室统一收集。其中,购买申请的金额低于500元(含500元)可以由总务办公室直接审批,而高于500元的购买申请由机构主管领导审批,批准的购买申请形成采购清单由采购员负责购买,同时应记录每次实际购买清单,进行入账。在提出购买申请时要包括下述数据:申请单位、物品名称、物品数量、预计价格、物品用途等。每次购买完成后应记录以下数据:物品名称、物品数量、价格、总金额、购买日期、经办人等。 案例二:火车票预订系统 系统简介:某高校后勤集团为了学生寒暑假返乡,办理代学生预订返乡火车票事务,订票必须提前三天办理,后勤订票处提前三天向火车站办理购票事务。订票处使用一台微机处理订票后购票事务,学生订票一次称为一个事务,由订票员将其输入在微机中,系统核实订单后,将订票信息记录放在订票库中。系统每天打印预订三天的购票单,并更新订票库。 请对以上系统进行业务流程分析后,绘制出该系统的系统流程图。 实验原理: 系统流程图就是描绘物理系统的传统工具。就是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等等)。表达的就是信息在系统各部件之间流动的情况,而不就是对信息进行加工处理的控制过程。 系统业务流程图的符号:

基本符号 系统符号实验过程与结果: 一、操作步骤: 1.运行Microsoft Office Visio 2010

2.选择流程图中的基本流程图模板 3.用鼠标选拉图标进行绘图 二、实验结果:

软件工程实验教学大纲

《软件工程》实验教学大纲 课程代码:0668036 课程名称:软件工程/Software Engineering 开课院(系)实验室:计算机科学系;软件实验室、信息安全实验室 适用专业:计算机科学与技术、信息与计算科学、信息安全 实验指导书名称:《软件工程实验指导书》 一、学时、学分 总学时:64 总学分:4 讲课学时:48 实验学时:16 实验成绩占总成绩20 % 二、课程简介 软件工程是计算机科学与技术等专业开设的一门必修课,是软件开发类的综合性和实践性很强的核心课程。本课程从系统工程的角度介绍软件工程方法,使学生掌握软件工程的基本理论、方法和技术,以及软件开发的完整过程和步骤,掌握软件生命周期中各阶段的知识,并能够使用UML进行软件分析和设计。培养学生初步具有中小型软件项目的需求分析、设计、编码、测试、维护和管理的工程化能力,以及软件开发和项目管理能力,为今后更深入地学习和从事软件开发工作打下良好的基础。 三、实验的地位、作用和目的及学生能力标准 本实验课程是《软件工程》课程教学的重要组成部分。通过本实验课程的教学,使学生加深对面向对象分析与设计的理解,从而掌握如何把统一建模语言UML应用到基本的面向对象分析和设计乃至整个软件开发过程中。 软件工程课程实验的目的是让学生掌握求解软件的基本思想、途径和方法,为从事计算机软件开发、维护和应用奠定良好的基础。学生通过软件工程课程实验,掌握软件分析、设计、实现和测试的基本技术,以及面向对象分析和设计的基本方法。通过该课程实践,实际运用软件工程的技术和方法,掌握软件项目管理和团队开发的工作方法。 经过软件工程课程的实验环节,使学生进一步掌握面向对象的系统设计与开发的方法和技术,树立团队合作精神,培养自主学习能力和创造性的工程设计能力,提高综合分析和解决问题的能力,以及软件项目的管理能力。此外,在实验环节中,还应深入了解面向对象分析和设计的基本概念,UML 在面向对象分析和设计中的作用,UML 的基础知识和应用技术,学会如何使用UML 对系统建模,掌握软件建模工具Rational Rose 的使用。 四、实验方式与基本要求 本实验课程要求学生在教师的指导与帮助下,学习了解UML的基本概念,实践UML对系统进行分析和设计的开发过程。以“网上图书销售系统”为案例,使学生经历软件项目的可行性研究、需求分析,软件设计、实现、测试到维护等各阶段的软件生命过程。 基本要求是:在实验初期,学生要在教师指导下自学Rational Rose软件的安装、使用和操作方法,并能运用Rational Rose完成课程全部实验内容;在每个实验开始之前,要求学生预先针对课堂相关知识进行深入思考、分析、讨论,按实验题目要求给出初步的软件需求分析模型和设计模型;在实验过程中按照实验步骤积极动手进行实验操作,按各个实验的具体要求完成和提交实验成果。 “网上图书销售系统”功能需求: (1)查询图书信息:顾客登录该系统后,可根据书名对所需的图书信息进行查询。

软件工程实验答案

实验一 实验内容: 1.上网了解查询软件工程网站和相关软件工程知识 2.了解软件工程环境概念、层次、组成和开发要求。 3.查询现有主流的软件工程工具及其功能、用途、特点及适用范围。 4.浏览CASE工具。通过互联网了解现有软件工程主流工具,完成表的内容。 表1-2软件工程工具分类

Firefly 开源奇葩: CVS 5、 1:自动化测试工具,其中有Web的,应用软件的,还有单兀测试的?以上具有代表]性常用的软件是: Sele nium, Watir, Winrunner, Loadr unner, Junit 等等 2:软件测试管理工具。代表性常用软件 有:Testdirector , ClearQuest 和bugzilla 等 6、版本控制工具;文档 分析工具;开发信 息库工具;逆向工 程工具;再工程工 具。 7、DbgView 调试信息查 看器 8、SFRE 9、gprof 上的存储目录以供客户端访问,这将带来 F /V 虫 定安全隐忠 Firefly服务器上的存储目录不用共享,对客户端不透明,客户端不可直接访问存储目录,使 系统更安全可靠 CVS采用C/S模式,不需要共享服务器上的存储目录,安全性较好 PVCS基于文件系统共享,而且需要以"可 写"的权限共享存储目录,存在较大的安全隐患VSS基于文件系统共享实现对服务器的访问,需要共享存储目录,这将带来一定安全隐患 5、提高测试人员的工作效率和质量 6、 7、bgView调试信息查看器不仅仅能作为调试信息输出,而且可以作为一个信息输出软件,监视您的软件运行,目前支持mfc和windows 下dos信息输出. &从整体上支持该分析阶段的再工程自动化工具 9、用gprof对程序进行分析主要分以下三个步 骤: l 用编译器对程序进行编译,加上-pg 参数。 l 运行编译后的程序。 l 用gprof命令查看程序的运行时信 息 1-3

软件工程实验报告

1.1 实验一结构化需求分析 一.实验类型 图书馆管理系统 假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能: ●图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、 ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息); ●管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录; ●图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人 士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息; ●图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录; ●读者可以通过本系统查询馆藏图书; ●读者可以通过本系统借阅读书。但对于孤本图书或在馆数量为1的图书则不 准外借; ●管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年 不归还图书的读者冻结其图书证; ●读者可以通地本系统归还图书。如果图书超期,则自动计算罚款金额。二.实验目的 1.掌握数据流的分析技术 2.掌握软件需求分析的过程和方法。 3.熟悉项目开发计划和需求规格说明书的制定方法。 三.实验内容和要求 1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。 2.正确运用图表工具进行表示。 3.按规范正确编写软件文档。

四.实验步骤 1.理解所承担项目的业务流程和业务内容。 本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。并且规模小,很容易进行推广。 ●本项目的参与对象有图书管理员及读者。 ●对于读者,能通过该软件浏览馆藏的所有图书。读者在图书馆找到自己喜欢 的书后,能自行通过该软件操作完成借阅操作。若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。 并且读者能修改个人信息。 ●对于图书管理员,能管理自己和比自己低一级管理权限的管理员。一级管理 员能完成维护管理员的基本信息和二级管理员的一切操作。二级管理员则能维护自己的信息和添加读者、添加图书的功能。管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; 2.按照系统的功能及性能要求,系统的作业范围等,确定软件系统的开发环境(操作系统、开发工具、程序设计语言等)。 根据软件编程经验,本系统将采用面向对象的设计方法,使用Eclipse开发工具,java窗体应用程序,操作系统使用Win8。 3.绘制数据流图、功能分析图等。

软件工程实验一

实验报告(一) 课程名称_ 软件工程 __ 共页系别__ 计算机________________ 实验 1 日期年月日专业班级____ 08计算机科学与技术___ 实验报告日期年月日 姓名_ 辛杰彪 _________学号 200841402238 ___ 实验名称: 一.实验目的 借助参考资料及INTERNET的搜索功能,在更大的范围内接触多种软件开发模型实例,学会根据系统的不同功能选择合适的软件开发模型。 二.实验任务 选择列举两个或两个以上且不同的软件开发模型实例并加以分析。 三.实验要求 1、所选实例不可与教材的内容相同 2、各实例所选择的软件开发模型应不相同 3、对实例进行说明,即每个实例的阐述应包括:第一,系统概况(包括系统主 要功能及系统流程图);第二,选用的开发模型(必须要分析选用原因) 4、书写“实验报告” 四.实验内容 案例一:基于模型设计的电池管理系统开发 1.功能分析: 功能需求:(1)对电池的电流电压、温度及模块电压进行测量; (2)对各种异常状况分级报警; (3)对电池组进行热管理; (4)与整车通过CAN进行总线通信;……

性能需求:(1)精确的计算电池的荷电状态,误差不超过10%(SOC, State of Charge); (2)总电压的检测范围是250-440V,测量精度不低于±2V;…… 非功能需求:(1)电压电流单体电压采样周期为10ms,温度采样周期1ms; (2)电池状态信息每隔100ms发送一次; (3)电池状态信息发送满足DFEV_CAN_02标准(企标);…… 领域需求:(1)要有很强的抗干扰能力,系统要有一定的自检、自诊断、自修复功能; (2)要在很宽的电压范围内(24—14伏)工作; (3)能在-20℃—85℃下正常工作;(4)具有防尘、防潮等功能;…… 2选择快速原型的原因: 由于电池管理对于系统的要求比较高,如果用瀑布模型,什么都做好了,但是精确度例如电压的范围,如果不达到标准,不符合要求,要重做,这样的成本比较大。如果用快速原型的话, 如果发现系统不达标也可以马上改,这时候成本就比较低了。所以保险起见,还是选择快速原型的比较好。 案例二:构造银行业务模型 1.功能 用例增量 增量1:支票和储蓄账户的存款和取款 增量2:查询和转账 增量3:透支 每个增量内进行迭代:乐观的,正常的,悲观的 2.选择增量模型的原因 答:因为这个银行的业务是可以很明确分开的, 软件的每个功能之间是没什么太大联系,可以分开来做,增加了 灵活性,还有开发的难度,几个功能还可以同时开始,加快完成 的时间,风险降低,一个功能出错并不会影响到别的部分。所以 说,这增量模型是比较好的选择。

软件工程实验教学大纲

《软件工程导论》实验教学大纲 课程名称:软件工程 课程编号: 适用专业:信息管理与信息系统软件工程导论 总学分:33 总学时:6448 其中实验学时1616 一、实验课程性质、目的与任务 《软件工程导论》是计算机各专业本科生的一门重要的专业课程,主要包括主要内容包括可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量、项目计划与管理、软件维护等内容。通过学习,学生将掌握软件工程的基本概念和基础理论知识,能够熟练地运用各种实用开发方法和基本技术方法从事各种类型软件项目的工程化开发、了解软件工程各领域的发展动向,成为具有独立工作能力的高素质高水平的软件人才。 按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个简单项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。 通过本实验课程,应达到以下几个教学目的 1.进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力; 2.熟悉和基本掌握软件工程方法学、软件开发的过程; 3.掌握文档资料的编写格式及规范,全面领会和贯通所学习的理论知识; 4.培养学生综合运用所学课程知识,分析解决问题的能力; 5.培养学生理论联系实际作风,实事求是,严肃认真的科学态度和良好的工作作风, 为今后从事科学研究工作打下基础。 二、实验教学基本要求 采取学生单独分组实验,教师临场指导的实验方式,在计算机上通过编程进行实验。完成对每个知识点知识验证和设计完成规定的实验内容,能运用所学根据算法思想独立设计程序。 要求掌握流行操作系统的基本使用与管理操作,并学会用高级程序设计语言设计有关进程创建、进程调度、进程通信、死锁以及存储管理、设备管理、文件管理等主要算法的模拟程序。 上机实验要求: 1、做好实验预习,编写源代码。 2、认真撰写实验报告。实验报告应包括以下内容:实验项目名称;算法分析;程序清单;运行结果;对运行情况所作的分析以及本次调试程序所取得的经验,如果程序未能通过,应分析其原因。 3、按指定时间上机,不得无故缺席。 4、严格遵守校校规校纪和实验室规章制度。 三、实验项目与类型:

相关文档
最新文档