当前位置:文档之家› 软件工程实验内容

软件工程实验内容

软件工程实验内容
软件工程实验内容

传统软件工程实验内容

项目—1软件项目计划

本项目学习目标

本项目是传统软件工程的计划阶段。通过本项目的学习,使学生理解系统所要解决的问题并给出系统定义,掌握可行性研究的内容和步骤,在掌握系统流程图建立技术的基础上画出系统流程图,在经济可行性分析的基础上培养学生掌握成本/效益分析的能力.

阅读本项目后,应具备如下能力:

●弄清系统所要解决的问题并给出系统定义

●认识到可行性研究的必要性

●能准确阐述可行性研究的内容

●熟练掌握可行性研究的步骤

●掌握系统流程图建立的技术并能画出系统流程图

●熟练掌握成本/效益分析的能力

本项目学习要点

●系统目标及范围的说明

●可行性研究的内容及步骤

●成本效益分析

撰写可行性研究报告

任务1 问题定义

需解决的主要问题

◆你知道软件开发第一个阶段最主要的任务是什么吗?那就是要弄清用户需要计算机解决问题的根本所在,以及项目所需的资源和经费。你知道具体这阶段完成后要生成一个什么样的文档及怎么书写这个文档吗?完成本任务后你自然就知道了。

任务目标

◆学生能独立撰写系统目标及范围的说明书.

完成任务的途径

实例的系统目标及范围的说明书来阐述这一文档的书写方法。问题定义(Problem Definition)是计划时期的第一个阶段。其目的是弄清用户需要计算机解决的问题根本所在,以及项目所需的资源和经费.该阶段的主要任务是在向用户调查的基础上,编写一个叫做“系统目标及范围的说明”(Statement of Scope and Objectives)的文档。这个说明经用户同意后,就可作为下一步工作——可行性研究的依据。上述说明书中的第2、3两项是密切相关的,只有清楚地了解当前工作中存在的问题,才能深刻理解用户对新系统的目标.多数用户因受到计算机知识的限制,难于准确和恰如其分地提出新系统的目标.为了弥补这一不足,分析员除要认真听取用户代表的介绍外,还应通过阅读资料、现场观察、甚至亲自参加操作等方法,

尽快弄清要解决问题的领域和环境,避免因一知半解,把次要和表面的问题误作为用户要解决的根本问题.项目范围应指出解决这一项目所需的投资范围。在问题定义阶段,对投资的估计当然是粗略的,但至少能使用户心中有数.在可行性研究阶段,对项目的目标及范围还允许修改.说明书应由用户和分析员共同审查,并对含糊不清及分析员理解错误的地方逐项进行修改。如果用户和分析员一致同意说明书的内容,且同意把工作继续下去,就可以转入下一个阶段—- 可行性研究了。

任务2 可行性研究

你知道一个项目是不是值得开发应该从哪些方面进行研究吗?要想进行这些可行性研究就得先研究当前系统的工作流程,你知道要建立什么模型吗?要从经济上可行就得进行成本效益分析,那么如何进行分析呢?可行性研究的步骤是什么呢?要想知道这些就必须得完成此任务。

需解决的主要问题

◆可行性研究的重要意义

◆系统流程图

◆成本效率分析

◆可行性研究的内容及方法

◆可行性研究的步骤及相关技术

任务目标

◆熟知可行性研究的重要性.

完成任务的途径

◆通过身边的例子来说明软件开发可行性研究的重要性,同时提出可行性研究有经济可行性、组织上的可行性、社会可行性、法律可行性及进度计划的可行性等研究。

活动1 可行性研究的重要性

可行性研究是抽象和简化了的系统分析和设计的全过程,它的目标是用最小代价尽快确定问题是否能够解决,以避免盲目投资带来的巨大浪费.

无论做任何一件事情都要进行可行性研究,如是没有研究可行性就盲目地去做,那么事情成功的可能性就难以预料。

例如,对于孩子的培养问题,家长不能擅自给孩子定方向,如让孩子唱歌,可孩子不具备这个天赋,即使下再大的功夫最终也还是以失败而告终,这是技术可行性不充分;有的人认为做买卖能赚钱,拿着自己家仅有的生活费去做买卖,可到头来血本未归,这也说明了技术上是不可行的。有人想发财,认为贩毒能赚钱,结果蹲进了监狱做了牢,这在法律上是不可行的;有人认为某个项目能赚钱,就是缺少资金支持,结果虽说有能力、有技术赚到钱,但没有钱也做不成,这在经济上是不可行的。社会上出现了许多不合理或是不和谐的事情,如果制定一条法律,对于违反法律的人要给予严惩,但这可能会造成运行上的不可行。对于一个软件也是如此,如要开发一个软件也一定要研究其经济上的可行性,软件开发需要多少投资,多长时间能收回成本,最后能取得多少经济效益,是我们在开发这个软件前必须要考虑的问题。此外还要研究技术上的可行性、组织上的可行性、社会可行性、法律可行性及进度计划的可行性等。

活动2 系统流程图

活动内容

?系统流程图的概念

?系统流程图使用的图形符号

?系统流程图的作用

?系统流程图的正确画法举例

活动目标

?学生能正确地画出系统流程图

1。系统流程图的概念

系统流程图是用来描述系统物理模型的一种传统工具。在进行可行性研究时需要了解和分析现有的系统,并以概括的形式表达对现有系统的认识.系统流程图的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序,文件,数据库,表格,人工过程等),表达的是部件的信息流程。

2. 系统流程图的作用

系统流程图的作用可以概括如下:

(1)建立系统流程图的过程是系统分析员全面了解系统业务处理概况的过程,它是系统分析员作进一步分析的依据。

(2)系统流程图是系统分析员、管理人员、业务操作人员相互交流的工具.

(3)系统分析员可直接在系统流程图上模拟出可以实现计算机处理的部分。

(4)可利用系统流程图来分析业务流程的合理性。

==活动小结==

主要阐述了系统流程图的概念,系统流程图在软件开发中的位置及重要作用,它所使用的图形符号,它是建立当前系统物理模型的主要工具,在传统的软件开发方法中,通过当前系统的系统流程图可以导出软件需求分析的数据流图,从而建立主要的分析模型.

活动3成本-效益分析

活动内容

?在可行性分析过程中,最为重要的是经济可行性,而经济可行性的研究中最为重要的是进行成本效益分析,本活动就是为解决此问题展开的。

活动目标

?学生能够对一个要开发的软件进行成本估计,再进行收益的分析,最后给出成本——效益分析.

?学生能独立完成软件成本估计、投资回收期的计算、投资回收率的计算及纯收入的计算。

完成活动的途径

首先提出系统成本的估计方法,说明系统成本包括有形成本和无形成本两部分,然后进行软件开发成本的估计,接下来进行效益分析,最后给出投资回收期、投资回收率及纯收入的计算。

1。系统成本

通过估计新系统所需的成本和可能产生的效益,便可从经济上衡量这个项目的开发价值。这一分析在可行性研究中占有重要的地位。

系统成本包括开发成本,同时也包括运行维护成本。后者包括使用中的物资消耗,占用的操作和维护人员数量,以及围绕这一项目的人员训练等费用。在计划时期,对成本的计算只能是估计值。估算的方法在本活动中给出.

2。软件成本估计

为了使开发项目能够在规定时间内完成且不超过预算,成本估计和管理是关键。成本估计是软件费用管理的核心,也是软件工程管理中最困难、最易出错的问题之一.1974年,wolverton把成本估计方法分为5种,在Boehm在他的著作中,进一步把它们分为7种。本书把主要的成本估计方法归并为“自顶向下估计”、“自底向上估计”和“算法模型(algorithmic model)估计”三类,下文将依次介绍前两种方法并举例加以说明,对于第三种方法将在项目-10中介绍。

成本估计使用的方法

(1)自顶向下成本估计

这类方法着眼于软件的整体.首先估算出总的开发成本,然后在项目内部进行成本分配.因这类估计通常仅由少数上层(技术及管理)人员参加,所以属于“专家判断”的性质。这些专家依靠从前的经验,把将要开发的软件及过去开发过的软件进行“类比”,借以估计新的开发所需要的工作量和成本。

自顶向下估计的缺点是,对开发中某些局部的问题或特殊困难容易低估,甚至没有考虑到.如果所开发的软件缺乏可以借鉴的经验,在估计时就可能出现较大的误差。

当参加估计的专家人数较多时,可采用特尔斐(Delphi)法来汇集他们的意见.特尔斐法的传统作法是:把系统定义文件或规格说明发给各位专家,各自单独进行成本估计,填入成本估计表。然后由协调人综合专家意见,将摘要通知大家,并开始新的一轮估计。这种估计要反复多次,直到专家们的意见接近一致为止。

特尔斐法的指导思想是:①用各自填表代替相互讨论。这样既避免了对立意见的直接交锋,又可保持各专家独立发表意见;②对个别专家及众不同的估计,协调人应单独及之讨论,并请他说明理由。也有人主张,对于重大的分歧,必要时可召集专家们开会讨论,但不要公开对立双方的姓名。

(2)自底向上成本估计

及自顶向下估计相反,自底向上估计不是从整体开始,而是从一个个任务单元开始,其具体作法是,先将开发任务分解为许多子任务,子任务又分成子子任务,直到每一任务单元的内容都足够明确为止.然后把各个任务单元的成本估计出来,汇合成项目的总成本.由于各

任务单元的成本可交给该任务的开发人员去估计,得出的结果通常比较实际。

这种方法也有缺点.由于具体工作人员往往只注意到自己范围内的工作,对综合测试、质量管理和项目管理等涉及全局的花费可能估计不足,甚至完全忽视。因此,就会有可能使成本估计偏低。

(3)算法模型估计

算法模型就是资源模型,是成本估计的又一有效工具.由于任何资源模型都是根据历史数据导出的,所以比较客观,计算结果的重复性也好,即不论什么时候使用模型,都能得出同样的结果。

算法模型估计的关键是要选好适用的模型。模型估计法常及自顶向下估计或自底向上估计结合使用。这部分内容将在项目-10中讨论.

3. 货币的时间价值计算

分析员在进行成本/效益分析的时候必须认识到,投资是现在进行的,效益是将来获得的.因此,不能简单地比较成本和效益,应该考虑货币的时间价值。

通常用利率的形式表示货币的时间价值。假设年利率为λ,如果存入银行P元,则n年后可以得到的钱数为:

这也就是P元钱在n年后的价值。反之,如果n年后能收入F元钱,那么这些钱的现在价值是:

4。投资回收期及投资回收率的计算

投资回收期是衡量一个开发工程价值的经济指标。投资回收期就是积累的经济效益等于最初的投资所需要的时间。投资回收期越短,就能越快获得利润。因此,这项工程也就越值得投资。

5。纯收入的计算

工程的纯收入是衡量工程价值的另一项经济指标.纯收入就是在整个生存周期之内系统的累计经济效益(折合成现在值)及投资之差。

活动4 可行性研究的内容

活动内容:

?主要讲述软件开发的投资必要性、技术可行性、组织可行性、经济可行性、社会可行性、开发方案的可行性和法律上的可行性

活动目标:

?通过调研对于一个软件是否可以开发进行可行性研究,最后要给出开发及否的判定。

软件投资项目可行性研究的内容及侧重点因及所应用领域差异很大,但一般应包括以下内容:

1.投资必要性.主要根据市场调查及预测的结果,以及有关的产业政策等因素,论证软件投资的必要性。在投资必要性的论证上,一是要做好投资环境的分析,对构成投资环境的

各种要素进行全面的分析论证,二是要做好市场研究,包括市场供求预测,竞争力分析、价格分析及营销策略论证。

2.技术可行性。主要从软件实施的技术角度合理设计技术方案,并进行比较和评价。技术可行性分析包括以下几项。

1)风险分析:在给出的限制范围内,能否设计出系统,并实现必要的功能和性能.此外还要对项目的市场风险、财务风险、组织风险、法律风险、经济及社会风险等风险因素进行评价,制定回避风险的对策,为项目全过程的风险管理提供依据。

2)资源分析:研究开发系统的人员是否存在问题,可用于建立系统的其他资源,如硬件、软件等是否具备。

3)技术分析:相关技术的发展是否支持这个系统。

3.组织可行性。制定合理的软件实施进度计划、设计合理的组织机构、选择经验丰富的管理人员、建立良好的协作关系、制定合适的培训计划等,保证项目顺利完成。

4.经济可行性。经济可行性有两种测试:(1)收益预期值是否大于项目的开发成本?(2)在开发期间是否有足够的现金流量对项目投资?尽管软件项目已经得到初步的批准,最后的批准还通常需要一个全面的开发成本和预期财务收益的分析。一个新系统或通过节省成本、或是增加营业收入而必须增加收益.软件项目经济可行性的确定需要一个全面的成本/效益分析。

5.社会可行性。主要分析项目对社会的影响,包括政治体制、方针政策、经济结构、法律道德、宗教民族、妇女儿童及社会稳定性等。

6.开发方案的可行性:提出系统实现的各种方案并进行评价之后,从中选择一种最优秀的方案。

7.法律上的可行性:是指在系统开发过程中可能涉及的各种合同、侵权、责任以及各种及法律相抵触的问题.

当然,对于可行性研究最根本的是对以后的行动路线提出建议,如果问题没有可行的解决方案,应该建议停止这项工程的开发;如果问题值得解决,应该推荐一个较好的解决方案,并且为工程制定一个初步的计划;如果项目值得开发,但还缺少必要的条件,则只能是延迟开发。

==活动测评==

?可行性要从哪些方面进行研究?

活动5 可行性研究的步骤及相关技术

活动内容:

?弄清可行性研究的8个步骤及相关的技术

活动目标:

?通过对当前系统调研及研究,画出当前系统的系统流程图

?根据系统流程图导出目标系统的逻辑模型

?结合给出几种可供选择的方案进行成本效益分析,最后给出推荐方案的选择

?准确制定项目计划的按排

可行性研究过程由下述8个步骤组成。以问题定义中所给出的例子为例加以说明。

1.澄清系统规模和目标

分析员应访问用户的关键人员,仔细阅读和分析它们的有关资料,以便进一步复查确认

系统的目标和规模,改正含糊不清的叙述,清晰地描述对系统目标的一切限制和约束,确保解决问题的正确性,即保证分析员正在解决的问题确实是用户要解决的问题。

例如,首先通过访问书库管理员、学生、教学秘书、会计来进一步验证上一阶段写出的“关于教材购销系统目标及范围的说明书”的正确性。

分析员通过对人工销售教材和教材采购进行调查及研究,并指出原来人工操作中出现的问题,从而确定新系统的目标及范围。既要自动完成教材销售的全过程自动化,同时又要完成教材缺货时如何进行统计缺书和进行教材订购,这是新系统不可以忽略的。

2.研究目前正在使用的系统

通过阅读、分析和研究现有系统的文档资料,及时地观察,必要时可以实际参及到工作流程中,总结现有系统的优点及不足,从而得出新系统的雏形。这是了解一个陌生应用领域的最快方法。

例如,了解任何应用领域的快速有效的方法,都要研究现有的系统。通过访问具体处理教材销售和采购的人员,可以知道处理教材购销系统的大致工作流程.开始时把教材购销系统先看作一个黑盒子,系统流程图描绘了处理教材购销系统事务的大致过程。

教材购销系统的大致工作过程是:学生要在教材科购书,首先填写购书单,系统会对购书单进行有效性验证,只有这本书应该买(本学期开设了这门课),并且没有买过(第一次买)则可通过验证,这时如果书库有足够量的书,则系统给学生开一个领书单,如果虽然通过了验证但书库没有书则系统生成一个缺书单给书库管理员,由书库管理员组织进书。进书后书库管理员则会填写一个进书单交给系统,通知系统新书到了。

3.导出新系统的高层逻辑模型

系统流程图很好地描绘了当前系统的工作流程,但是,在这样的图中把“做什么”和“怎样做”这两类不同范畴的知识混在一起了。我们的目标不是一成不变地复制现有的人工系统,而是开发一个能完成同样功能的新系统。因此,应该着重描绘系统的逻辑功能。

删除图中表示的有关具体实现方法的信息,对其进行抽象。

4.进一步确定系统规模和目标

信息系统的逻辑模型实质上表达了分析员对新系统的看法。那么用户是否也有同样的看法呢?分析员应该和用户一起再次复查问题定义,再次确定工程规模、目标和约束条件,并修改已发现的错误。

可行性研究的前四个步骤实质上构成一个循环:分析员定义问题,导出一个试探性的逻辑模型,在此基础上再次定义问题,再次分析,再次修改…。重复这个循环直至得到的逻辑模型完全符合系统目标为止。

对于教材购销系统,现在分析员要再次访问系统相关者,讨论的焦点是图2.7所示的数据流图,它代表了到现在为止系统分析员对所要开发的系统的认识。通过仔细分析和讨论数据流图,能够及时发现并纠正分析员对系统的误解,补充被他忽视了的内容。

分析员现在对教材购销系统的认识已经比问题定义阶段深入多了,根据现在的认识,可以更准确地确定系统规模和目标.如果系统规模有较大变化,则应及时报告给客户,以便做出新的决策。

5.导出和评价供选择的方案

分析员从系统的逻辑模型出发,导出若干较高层次的解决方案可供比较和选择。选择解法的一个常用方法是从数据流图出发,设想几种划分自动化边界的模式,并且为每种模式设想一个系统。从技术、经济、操作等方面进行分析比较,并估算开发成本、运行费用和纯收

软件工程习题及详细答案

个人收集整理勿做商业用途 软件工程习题及答案 一、选择题: 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. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。 A、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD(Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10. 数据流图中,当数据流向或流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

软件工程实验报告最终版

合肥师范学院实验报告册 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-软件测试

电子与信息工程学院实验报告 班级学号姓名吴前斌同组 实验课程:软件工程 实验项目:软件测试 实验日期:2019 年10 月22 日

程序执行流程图如下图1所示; 1 2 3 4 5 6 7T F T F 图1 路径1:1、4、6、7 测试用例不存在 路径2:1、4、5、6、7 测试用例a= -1,b=0,x=3路径3:1、2、4、6、7 测试用例a=2,b=1,x=3 路径4:1、2、3、4、6、7 测试用例a=2,b=0,x=4

路径5:1、4、5、7 测试用例a=-1,b=0,x=0 P42-1: 首先点击工具条的【连接到文件夹】按钮,打开连接到文件夹对话框,选择实验数据所在目录,单击【确定】按钮,实现所需要的文件夹在目录树中显示出来,如下图1所示; 图1 接着在该文件夹下建立个人地理数据库单击【新建】、【个人地理数据库】,并且命名为“沈阳”,之后在该个人地理数据库中新建一个要素集,右击个人地理数据库单击【新建】、【要素数据集】,在打开的对话框中输入“shenyang”,如下图2所示; 图2 接着在要素集下选择一个为“Xi‘an 1980”地理坐标系,如下图3所示;

图3 接着点击个人地理数据库,新建一个要素类命名为“路灯”,如下图4所示; 图4 点击新建好的路灯要素集,选择【导入】、【要素类(多个)】,导入实验所需要的实验数据\1\vector文件夹下的street.shp,donut.shp(shift多选)单击确定即可,展示的效果如下图5,图6、图7、所示; 图5 图6

图7 P42-2: 首先打开arcmap连接个人地理数据库TEXT1.mdb,接着在图层中添加库中的road、street、river这个三个要素,使用滚轮放大缩小进行查看,如下图1、图2所示; 图1 图2 点击图标arctoolbox工具进行添加一个新的工具箱,工具箱命名为“personal”,接着导入一些常规的工具即可,如下图3、图4所示。 图3 图4

软件工程 可行性分析

软件工程可行性分析一、可行性分析--实验目的 掌握软件项目立项时可行性研究的方法、内容和步骤 掌握可行性研究报告(立项报告)的编写方法 学习使用Project进行项目的计划安排 二、可行性分析--实验原理 可行性研究是软件项目在正式立项前必须进行的分析,目的不是解决问题,而是确定软件项目是否值得做以及能否用尽可能小的代价在尽可能短的时间内解决。 可行性研究最根本的任务是对以后的行动方针提出建议,如果问题没有可行的解,应建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解,则推荐一个好的解决方案,并制定一个初步的工程计划 可行性研究的内容一般包括:技术可行性、经济可行性、操作可行性、法律和社会可行性、开发方案的选择以及进度计划。 (1)技术可行性:使用现有的技术能实现这个系统吗? (2)经济可行性:这个系统的经济效益能超过它的开发成本吗? (3)操作可行性:系统的操作方式在这个用户组织内行得通吗? (4)法律和社会可行性:系统开发过程中是否涉及的各种合同、侵权、责任等与法律、法规吻合或抵触的问题?

(5)开发方案的选择:对不同的系统开发方案进行分析、比较和论证,选择合理的方案,推荐行动计划。 三、可行性分析--实验内容与步骤 1)可行性研究的步骤一:分析系统目的。 2)可行性研究的步骤二:分析当前系统的状况。 3)可行性研究的步骤三:当前系统的业务流程。 4)可行性研究的步骤四:分析当前系统的不足。 5)可行性研究的步骤五:提出新的目标系统。 6)可行性研究的步骤六:检查目标系统是否满足要求。 7)可行性研究的步骤七:制定新系统的技术方案。 8)可行性研究的步骤八:方案分析比较。 9)可行性研究的步骤九:推荐方案。 10)可行性研究的步骤十:编制新系统的开发计划。 11)可行性研究的步骤十一:编制可行性研究报告。 四、可行性分析--实验成果 ⑴各组大作业选题的可行性研究报告(1人/组) 结合案例的步骤和国标GB8567《计算机软件产品开发文件编制指南》中的“可行性研究报告”的编写提示编写。 其中,可行性分析报告中必须画出所选择系统的数据流图并编写数据字典 ⑴各组大作业选题的可行性研究报告(1人/组)

软件工程习题及答案

软件工程习题及答案

软件工程习题及答案 一、选择题: 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. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。 A、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD(Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10. 数据流图中,当数据流向或流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

软件工程测试实验

淮海工学院计算机科学系实验报告书 课程名:《软件工程》 题目:软件测试实验 班级:软件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);

软件工程结构化需求分析报告实验1

图书馆管理系统需求分析报告 1引言 1.1、编写目的 编写本报告的目的是明确软件需求、安排项目规划与进度、组织软件开发与测试,供用户确认系统的功能和性能,并作为软件设计人员的设计依据和使用单位的验收标准。 1.2、项目背景 2.1所建设开发软件系统的名称:图书馆管理系统。 2.2用户:图书馆工作人员及读者。 1.3、定义 图书管理系统是对图书的流量进行准确、及时、快速地管理系统,其管理流程可由数据流程图来描述。数据流程图(DFD)是为描述软件系统中的信息流提供了一个图形方法。箭头代表数据流,方框代表数据的源点或终点,圆框代表数据流的交换,双杠代表数据存储的地方。 2 任务概述 2.1目标 图书管理系统通过计算机技术给图书管理人员和读者借、还书带来便利,减少人力资源的使用和降低管理费用,同时提高信息准确度和可靠性,本系统包括了图书馆管理的一般功能。主要就图书馆的借书和还书模块进行开发。 2.2 用户特点 由于图书馆管理人员和借阅的学生老师都是比较熟悉计算机的群体,因此只需进行简单的培训就可以很熟悉地进行操作。该系统的界面尽量会设计的友好一些,满足大多数人的视觉喜好,所以应该能够很好的投入使用。 2.3假定和约束 系统应该在进行充分的前期准备后开始开发,在开发期间所有的开发人员应该严格按照预先规定的步骤进行,不允许中途有任何疏忽,同时应该及时与图书馆管理人员进行沟通,了解他们的真正想法,尽量满足他们的需要,项目一旦完工,就很难进行改动,所以每一步的进行,都应该根据数据字典等工具进行,严格每一个人员的开发流程。 3需求规定 3.1对功能的规定 经过以上详细的用户调查,在现行业务流程和数据分析的基础上,基本可以确定系统设计必须达到的目标。 图书管理系统必须具备的功能有: (1)新进图书的登记功能 (2)图书的查询修改功能 (3)借阅的登记

软件工程实验报告

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

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

软件工程实验报告(总)

信息工程学院软件工程实验报告 专业: 班级: 学号: 姓名: 指导老师:

实验一:软件开发的过程计划 实验课时:2课时 一、实验目的 项目计划的目的是为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。 ⑴估计项目的总体规模、工作量和成本。 ⑵制定项目计划,重点放在产品生命周期中的主要关键任务。 ⑶制定项目时间表和预算。 二、实验环境 1.硬件环境 P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。 2.软件环境 操作系统:Windows XP 数据库:Sql Server 2000以上或Access 2003以上 3.通用工具软件 通用绘图工具:MicroSoft Visio 2003以上 文本编辑工具:MicroSoft Word 2003以上 4.CASE工具 UML建模工具:Rational Rose 2000 三、实验要求、实验内容 1、实验要求: 在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。 2、实验内容 熟悉RUP(Rational Unified Process)软件开发统一过程的思想,RUP(Rational Unified Process)是由Rational公司(现已是IBM公司的一部分)提出的过程模型,它软件工程史上最完整、最成熟、最优秀的过程模型之一。 学习软件开发的组织和管理,将项目开发各阶段的任务明确,掌握各阶段的里程碑,并熟悉相应的工具。

四、思考题 1、项目开发首先要做的事是什么? 答:进行需求分析和定义,了解客户或用户的需求,然后再进行后续。 2、你认为该软件应具备的最重要的特性是什么。 答:安全性、实用性、灵活性。 3、你认为怎样分工是最合理的? 答:该项目已经采取项目经理制,但是在具体开发过程中,情况也许会比预计的复杂,因此,在了解了各组员的工作风格的情况下,根据性格类型进行工作分配,比如:外向而且善于交流的,可以给他安排和客户交流沟通,让客户随时了解我们 的工作情况,并且反应客户的需求改变;为了让项目更好的组织和管理,可以采取 主程序员负责制;这样,在项目经理的带领下,内部安排主程序员和副程序员,工 作员有问题的话,内部自己解决,只要按时汇报工作就可以了。 五、实验内容: 项目背景 项目名称:银行计算机储蓄系统 随着社会经济的发展,XX银行的业务不断增长,传统的依靠手工的存取款业务办理方式已经不能满足不断增长的业务需求。其一,业务需求的增加需要消耗大量人力物力资源;其二,业务复杂化导致人工处理方式出错率增加,从而引起储户不满。一方面可以减轻银行业务员的工作量,另一方面可以减少工作的出错率,从而提高工作效率。现在计算机网络的告诉发现使越来越多的人更喜欢在网购物、在家存款取款。在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。为解决此问题,拟为其开发计算机储蓄系统。 项目进度: 项目在项目经理的制度下,在整个开发过程中,树立“里程碑”,而且严格按照计划进行,各阶段任务必须完成,现把任务进度历程绘制如下:

(上课)软件工程实验一

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

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

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

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

软件工程实验答案

实验一 实验内容: 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结构化分析实验

淮海工学院计算机工程院实验报告书 课程名:《软件工程》 题目:实验1结构化分析实验 学号:2014140093 班级:Z计121 姓名:薛慧君

实验1结构化分析实验 实验目的和要求 1、通过实验,加深理解传统软件工程方法; 2、通过实验,掌握结构化软件工程分析与建模方法; 3、掌握数据流图、数据字典的创建方法,建立软件功能模型; 4、通过实验,初步掌握需求分析文档的编写方法。 实验环境 硬件环境:配置性能较好的台式计算机每人1台,并具备网络环境 软件环境:Micresoft Visio 实验学时 2学时,必做实验 实验题目 机票预定系统 1.系统简介 航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。 2.技术要求和限制条件 (1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。 (2)对于本系统还应补充一下功能: 1.旅客延误了取票时间的处理 2.航班取消后的处理 3.旅客临时更改航班的处理 (3)系统的外部输入项至少包括:旅客、旅行社和航空公司。 实验过程与实验结果 数据流图 顶层数据流图:

0层数据流图: 1层数据流图:

数据字典 (1) 旅客信息 (2) 订票旅客清单 (3) 订票信息 (4) 航班机票信息

软件工程实验报告

软 件 工 程 实 验 报 告 班级:计算机科学与技术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)绘制顶层图 ①在顶层进程页面中添加、移动图形元素并调整其大小。将所需要元素用鼠标拖动到模板里,添加所需的元素符号。 接口:输入源点或输出终点,其中注明源点或终点的名称。 进程:即处理,输入数据在此进行变换产生输出数据,其中注明进程的名称。数据存储:用于代表系统中存储的信息,其中注明信息的名称。 数据流:被加工的数据及其流向。流线上注明数据名称,箭头代表数据流动方向。 ②向图形元素中添加文本,并修改数据流图中的文字和格式。 连接图形元素。 ③使用“数据流”连接线将“接口”、“进程”和“数据存储”等形状互相连接起来。 逻辑连接:将数据流起点、终点拖拽到进程或接口中央位置,进程或接口被红色框包围时松开鼠标,这时可看到数据流符号相应端点为红色方框。拖动进程或接口,可看到流据流的端点随着进程或接口的移动而移动。

软件工程实验课题

图书管理系统 组长:杨晓华 组员:巴雅尔图、那日苏、张天、 牛莉、杨宇婷 作业提交日期:二О一五年十月3三十日

作者简介 组长:杨晓华学号:120714241 学院:经济管理学院 组员:巴雅尔图学号:110412185 学院:生态环境学院那日苏学号:111710874 学院:兽医学院 张天学号:120714242 学院:经济管理学院 牛莉学号:120714767 学院:经济管理学院 杨宇婷学号:120715553 学院:经济管理学院

图书管理系统 摘要 简单介绍了图书管理系统数据库的设计和系统功能的实现过程。该系统是运行在学校网络上的网络图书管理系统,由图书编目,图书管理,读者管理,资料管理,Web查询等几个子系统组成,,实现了图书资料的计算机网络管理和Web查询功能。计算机技术的迅猛发展,特别是随着网络技术的出现标志着信息时代已经来临。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求,建设图书馆信息网络系统,是图书馆现代化建设的客观要求。建设以计算机为核心的图书馆信息网络,实现图书馆管理和服务的自动化,更好地为科技工作服务,是图书馆发展的必由之路。目前,国内大部分高校图书馆都实现了网络管理,目前图书馆都在在朝着这个方向发展。 关键词:图书,网络,数据库,管理系统,VC

一、系统可行性分析 1.总体功能设计 根据高校图书馆的实际情况和校园网网的现状,我们确定了网络图书系统应该具备8个方面的功能,它们是图书编目,图书采购,图书管理,读者管理,标准管理,资料管理,系统维护,Web查询。其中Web查询是该系统突出的特点,它的实现是因为有学校校园网的支持。系统组成和功能框图见图1。 图2 业务流程图 图3 读者

软件工程习题及参考答案

软件工程习题及部分参考答案 判断题 软件也会磨损和老化。(X) 完善性维护是提高或完善软件的性能。(√) 数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。 (X) 软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(X) 软件模块之间的耦合性越弱越好。(√) 如果通过软件测试没有发现错误,则说明软件是正确的。(X) 快速原型模型可以有效地适应用户需求的动态变化。(√) 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(√) 集成测试主要由用户来完成。(X) 确认测试计划应该在可行性研究阶段制定(X) 白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(X) 软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√) 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。(√) 系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。(╳) 模块越多,开发成本越小。(╳) 软件测试的目的就是证明软件没有错。(╳) PAD图在设置了五种基本的控制结构后,还允许递归使用。(√) 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(×) SA法是面向数据流,建立在数据封闭原则上的需求分析方法。(√) HIPO 法既是需求分析方法,又是软件设计方法。(√) 在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×) 加工小说明是对系统流程图中的加工进行说明。(×) 判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×) 需求分析的主要方法有SD 法、OOA 法及HIPO 法等。(×) 分层的DFD 图可以用于可行性分析阶段,描述系统的物理结构。(×) 信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。(√) 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。(√) PDL经常表现为一种"混杂"的形式,他不允许自然语言如英语的词汇与某种结构化程序设计语言(如Pascal,C,Ada等)的语法结构交织在一起.(X) 设计阶段的输出是编码阶段的输入.(√) 通过软件测试,可以发现软件中所有潜伏的错误.(X) 非结构化维护用于软件的配置中只有源代码维护.(√) 系统规格说明是系统分析和定义阶段生成的一种文档.(√) 数据流图的分解速度应保持较高.通常一个加工每次可分解为10~20个子加工.(X)

软件工程实验

软件工程实验 实验一结构化分析实验(2学时) 实验目的:通过此实验了解结构化分析的特点和步骤,以及结构化分析所采用的基本图形工具。 实验内容: 假设你在一所职业高中工作,负责该校信息系统的建设和维护。财务科长请你研究用学校拥有的pc机生成工资明细表和各种财务报表的可能性。 实验要求: 1.问题定义:请在这个阶段描述你需要解决的问题。包括用户面临的问题和预期的项目规模。最后生成一份问题定义报告书。 2.可行性研究:在这个阶段产生处理工资事务的大致过程,画出高层逻辑模型,并且画出相应的数据流图,建立数据字典。 3.对此系统进行成本效益分析。 实验二结构化设计实验(2学时) 实验目的:能够通过结构化分析的结构进行设计,了解设计过程中的模块化原理。 实验内容:在上一次实验已经用结构化分析方法详细地分析了这个工资支付系统,请从结构化分析所得到的结果(完整数据流图),判断为事务流或是变换流,采用模块化的方法,设计工资支付系统的结构。最终生成一个工资支付软件结构。 实验要求: 写出设计过程、画出工资支付软件结构,用层次图表现。 实验三软件测试实验(2学时) 实验目的:了解软件测试的基本概念,以及黑盒、白盒测试的基本过程。 实验内容: 设计测试下列函数的测试方案: 函数Search(somearray,size,value)的功能是,在一个整数数组somearray中搜索一个值为value的整数,如果数组中有这个数,则函数值等于该数的下标,否则函数值等于-1。数组的长度由参数size指定。假定数组第一个元素的下标为1。 实验要求: 1.采用黑盒测试的方法,写出相应的测试用例 2.用c语言实现此函数,并且由此设计白盒测试方案(选做)。 实验四面向对象分析(2学时) 实验目的:通过采用面向对象的方法对问题进行分析,建立系统的对象模型和功能模型。动

软件工程白盒测试实验

实验三软件测试(白盒测试) 预习报告 一、实验目的 1掌握覆盖率的计算方法。 2 掌握语句覆盖,分支覆盖(判定覆盖),条件覆盖,条件。 分支组合覆盖,条件组合覆盖,组合覆盖的含义及区别。 3 掌握使用各种覆盖法,设计测试用例的方法。 二、实验原理 1测试覆盖率 测试覆盖率是指用于确定测试所执行到的覆盖项的百分比。其中的覆盖项是指作为测试基础的一个入口或属性,比如语句、分支、条件等。 测试覆盖率可以表示出测试的充分性,在测试分析报告中可以作为量化指标的依据,测试覆盖率越高效果越好。但覆盖率不是目标,只是一种手段。测试覆盖率包括功能点覆盖率和结构覆盖率。 功能点覆盖率大致用于表示软件已经实现的功能与软件需要实现的功能之间的比例关系。 结构覆盖率包括语句覆盖率、分支覆盖率、循环覆盖率、路径覆盖率等。 (1) 语句覆盖率 语句覆盖率=至少被执行一次的语句数量可执行的语句总数*10% (2) 判定覆盖率 判定覆盖率=判定结果被评价的次数/判定结果的总数*100% (3) 条件覆盖率 条件覆盖率=条件操作数值至少被评价一次的数量/条件操作数值的总数*10% (4) 定/条件覆盖率 判定/条件覆盖率=条件操作数值或判定结果值至少被评价一次的数量/ (条件操作数值总数+判定结果总数) *100% (5) 条件组合覆盖率 条件组合覆盖率涤件操作数值至少被评价一次的数量/条件操作数值的所有组合总数*100% 2 逻辑覆盖 根据覆盖目标的不同和覆盖源程序语句的详尽程度,逻辑覆盖又可分为语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖(条件组合覆盖)、组合覆盖。 (1) 语句覆盖 语句覆盖是选择足够多的测试数据,使得程序中的每个可执行语句至少执行一次。语句覆盖的缺点是对程序执行逻辑的覆盖率很低。 为使程序中每个语句至少执行一次,只需设计一个能通过路径ace的例子就可以了,例如选择输入数据为:A=2,B=0,X=3,就可达到“语句覆盖”标准。 为使程序中每个语句至少执行一次,只需设计一个能通过路径ace的例子就可以了,例如选择输入数据为:A=2,B=0,X=3,就可达到“语句覆盖”标准。 (2) 判定覆盖 判定覆盖是通过设计足够多的测试用例,使得程序中的每一个判定至少获得一次

软件工程需求分析和概要设计SASD实验实验报告总结归纳

需求分析和概要设计实验报告 一.实验目的 1. 理解结构化分析和设计的软件工程范型; 2. 能运用常用的工具建立简单系统的分析模型和设计模型。 二.实验内容 图书管理系统的分析和设计。主要完成借书、还书、图书预定、图书查阅和图书管理等功能。要求建立系统的需求模型:DFD(data flow diagram)。 功能需求描述: 1. 借阅者可以通过网络查询书籍信息和预定书籍。 2. 借阅者能够借阅书籍和还书。 3. 图书管理员能够处理借阅者的借阅和还书请求,以及处理预定图书。三.实验结果 1.图书管理员处理借书第一层 图书管理员处理借书第二层 2.图书管理员处理还书第一层 3.图书管理员处理预定图书第一层 图书管理员处理预定图书第二层 四.实验分析 在本次实验中,我主要画出了图书管理员处理借书、还书以及预定图书的数据流程图。这是一个我们都很熟悉的环境,因此我们分析起来相对的会容易些,思路也会更加的清晰,在这个系统中,通过稍加细致的分析,我们可以了解到: 1. 图书管理员处理借书的时候,其主要过程是,先扫描读者信息,确认读者的合法性。接着,处理读者欲借阅的书。再接着,处理借书过程,同时修改读者和图书的有关信息。最后,系统将有关的信息反馈给我们的读者。 2. 图书管理员处理还书的时候,其过程相对的简单一些,只需直接处理读者欲还的书。同时修改读者和图书的有关信息。最后,系统将有关的信息反馈给我们的读者。 3. 图书管理员处理图书预定的时候,其主要过程是,先扫描读者信息,确认读者的合法性。接着,处理读者欲预定的书。再接着,处理预定图书过程,同时修改读者和图书的有关信息。最后,系统将有关的信息反馈给我们的读者。 在对这样的过程进行了分析后,再画数据流程图也就显得容易很多了。 通过本次的实验,我对数据流程图的重要性有了更加深刻的认识,数据流程图在我们设计系统过程中所扮演的角色是多么的重要,试想,如果一个系统在设计的过程中,不使用图的方式,而是将其用文字语言进行描述,这会是一个怎么样的情景。图的作用就是使我们对知识的理解非常的形象,易懂。一个非常复杂的问题,若是通过图形的方式向我们展示的话,会收到意想不到的结果。

软件工程课后习题答案

软件工程课后习题答案 第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。 (4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。

(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。

相关主题
文本预览
相关文档 最新文档