当前位置:文档之家› 软件工程概述课程作业

软件工程概述课程作业

软件工程概述课程作业
软件工程概述课程作业

软件工程作业与解答

第一章软件工程概述

1.简述软件的发展过程。

答:计算机软件的发展经历了三个阶段:(1)程序设计阶段,约50至

60 年代;(2)程序系统阶段,约60至70年代;(3)软件工程阶段,

约70年代以后。各个时期软件开发的特点见课本第7页表1.3。

2.简述软件的定义及特点。

答:软件是计算机系统中与硬件相互依存的另一部份,它是包括程序、数据及其相关文档的完整集合。

特点见课本第1页至第3页。

3.简述软件的种类。

答:见课本第3页至第6页。

4.什么叫软件危机?

答:在软件发展的第二阶段,随着计算机硬件技术的进步,计算机的容量、速度和可靠性有了明显的提高,生产硬件的成本降低了。计算机价格的下跌为它的广泛应用创造了极好的条件。在这一形式下,要求软件能与之相适应。然而软件技术的进步一直未能满足形式发展提出的要求。

在软件开发中遇到的问题找不到解决的办法,致使问题积累起来,形成日益尖锐的矛盾。软件开发时期所面临的这种状态就是所谓的软件危机。

5.软件危机主要有哪几种表现?

答:见课本第8页(1)、(2)、(3)、(4)。

6.什么叫软件工程?

答:开发、运行、维护和修复软件的系统方法。

7.什么叫软件生存周期?

答:软件从孕育、诞生、成长、成熟到衰亡的过程叫软件生存周期。它

包括制定计划、需求分析、设计、程序编码、测试及运行维护。

8.简单介绍软件开发的瀑布型模型和螺线型模型。

答:见课本第11页至第14页。

第二章系统分析

1.简述系统分析的目标

(1)

(2)

(3)

(4)

(5)

(6)识别用户要求;

评价系统的可行性;

进行经济分析和技术分析;

把功能分配给硬件、软件、人、数据库和其它系统元素; 建立成本和进度限制;

生成系统规格说明,形成所有后续工程的基础。

2.系统分析过程的第一步就是识别用户要求。要求的识别是系统开发的起点。为此,分析员必须回答哪些问题,才能完成这一步骤?

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)所期望的功能和性能是什么可靠性和质量问题是哪些总的系统目标是什么成本与进度限制如何制造的需求是什么

市场与竞争情况怎样

有效的技术有哪些

将来可能有哪些扩充

3.软件项目的可行性研究主要集中在哪个方面?

(1)经济可行性。(2)技术可行性。(3)法律可行性。(4)抉择。

4.填空

在成本-效益分析中,有形的效益可以用(货币的时间价值、投资回收期、纯收入)等指标进行度量。

第三章软件需求分析课程作业

一、简述与问答

1.简述软件需求分析的任务。

需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。分析

员通过需求分析,逐步细化对软件的要求,描述软件要处理的数据域,并给

软件开发提供一种可转化为数据设计、结构设计和过程设计的数据与功能表

示。在软件完成后,制定的软件需求规格说明还要为评价软件质量提供依据。

2.软件的需求分析就是解决所开发软件做什么,做到什么程度的问题。它包括诸多需求,

这些需求有那些?

功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、软件成本消耗与开发进度需求、预先估计以后

系统可能达到的目标。

3.简述需求分析评审的主要内容。

a.系统定义的目标是否与用户的要求一致;

b.系统需求分析阶段提供的

文档资料是否齐全;c.文档中的所有描述是否完整、清晰、准确反映用户要

求;d.与所有其他系统成分的重要接口是否都已经描述;e.所开发项目的数据流

与数据结构是否足够确定;f.所有图表是否清楚,在不补充说明时能否理解;g.

主要功能是否已包括在规定的软件范围之内,是否都已充分说明;h.设计的约

束条件或限制条件是否符合实际;i.开发的技术风险是什么;j.是否考虑过软件

需求的其他方案;k.是否考虑过将来可能会提出的软件需求;l.是否详细制定了

检验标准,它们能否对系统定义是否成功进行确认;m.有没有遗漏、重复或不

一致的地方;n.用户是否审查了初步的用户手册;o.软件开发计划中的估算是否

受到了影响。

4.软件需求分析的基本原则是什么?

(1)必须能够表达和理解问题的数据域和功能域。(2)必须按自顶向下、

逐层分解的方式对问题进行分解和不断细化。(3)要给出系统的逻辑视图和

物理视图。

5.什么是结构化分析方法?

结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软

件为止。

6.数据词典的任务什么?

.对于数据流图中出现的所有被命名的图形元素在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。数据词

典中所有的定义应是严密的、精确的,不可有半点含混,不可有二义性。

二、填空

1.在软件开发的原型化方法中,原型是指(软件的一个早期可运行的版本,它反映最终系

统的部分重要特性)。

2.软件原型化方法是在研究分析阶段的方法和技术中产生的,由于软件项目的特点和运行

原型的目的不同,原型主要有((1)探索型(2)实验型。(3)进化型。(4)修正和改进)三种不同的作用类型。

3.结构化分析方法主要使用了(数据流图、数据词典、结构化英语、判定表和判定树。)几个工具。

4.需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。其实现步骤包括((1)获得当前系统的物理模型。(2)抽象出当前系统的逻辑模型。(3)建立目标系统的逻辑模型。(4)为了对目标系统做完整的描述,还需要对得到的逻辑模型做一些补充。)

5.需求分析阶段的工作,可以分成(问题的识别、分析与综合、制定规格说明和评审)四

个方面。

第四章软件设计课程作业

1.一旦确定了软件需求之后,就进入开发阶段。开发阶段由三个互相关联的步骤组成:(.设计、实现(编码)和测试)。

2.性能主要是指(周转时间响应时间吞吐量精度)四个指标。

3.概要设计阶段完成时应编写的文档包括(概要设计说明书数据库设计说明书用

户手册制定初步的测试计划)。

4.概要设计评审的内容主要包括(可追溯性接口风险实用性技术清晰度可维

护性质量各种选择方案限制)。

5.软件的结构包括两部分。其一为(程序模块的层次结构),其二为(数据的结构)。

6.在软件系统的分层模块结构图中,上级模块调用(下级模块)。它们之间存在主从关系,即自上而下“主宰”,自下而上“从属”。而同一层的模块之间没有这种主从关系。

7.多扇出意味着需要控制和协调许多(下属模块)。而多扇入的模块通常是(公用模块)。

8.数据结构设计应确定数据的(组织、存取方式、相关程度、以及信息的不同处理方法)。

9.软件过程着重描述(各个模块的处理细节)。软件过程必须提供精确的处理说明,包括事件的顺序、正确的判定点、重复的操作直至数据的组织和结构等等。

10.如果模块是相互独立的,当模块变得越小,每个模块的内部结构就变得越(简单),花费的工作量也越低。

11.模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。一般采用两个准则度量模块独立性。即(模块间的耦合)和(模块的内聚)。

12.在过程设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。表达过程

规格说明的工具可以分为以下三类:(.图形工具)、(表格工具)、(语言工具)。

二、简答题

1.为什么软件设计在开发阶段中的具有重要意义?

除了维护阶段以外,开发阶段占软件工程总成本的75%以上。开发阶段的决策将最终影响软件实现的成败,影响软件维护的难易程度。软件设计是软件开发阶段最重要的步骤。它是软件开发中质量得以保证的关键步骤。设计提供了软件的表示,使得软件的质量评价成为可能。软件设计又是将用户要求准确地转化成为最终的软件产品的唯一途径。

2.在概要设计过程中需要完成的工作具体有哪些?

(1)制定规范:在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守的标准,以便协调组内各成员的工作。(2)软件系统结构的总体设计:在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,使每一部分完成简单的功能且各个部分之间又保持一定的联系,这就是功能设计。在设计阶段,基于这个功能的层次结构把各个部分组合起来成为系统。(3)处理方式设计:确定为实现软件系统的功能需求所必需的算法,评估算法的性能。确定为满足软件系统的性能需求所必需的算法和模块间的控制方式(性能设计)。确定外部信号的接收发送形式。

3.简述数据结构设计的内容

确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整性和安全性的设计。它包括:1)确定输入、输出文件的详细的数据结构。2)结合算法设计,确定算法所必需的逻辑数据结构及其操作。3)确定对逻辑数据结构所必需的那些操作的程序模块(软

件包)。限制和确定各个数据设计决策的影响范围。4)若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细的数据结构和使用规则。5)数据的保护性设计

4.在详细设计过程中需要完成的工作有哪些?

(1)确定软件各个组成部分内的算法以及各部分的内部数据组织。(2)选定某种过程的表达形式来描述各种算法。(3)进行详细设计的评审

5.软件设计的最终目标是要取得最佳方案。“最佳”的含义是指什么?

是指在所有候选方案中,就节省开发费用,降低资源消耗,缩短开发时间的条件,选择能够赢得较高的生产率、较高的可靠性和可维护性的方案。在整个设计的过程中,各个时期的设计结果需要经过一系列的设计质量的评审,以便及时发现和及时解决在软件设计中出现的问题,防止把问题遗留到开发的后期阶段,造成后患。在评审以后,必须针对评审中发现的问题,对设计的结果进行必要的修改。

6.模块具有哪些基本属性?

(1)功能:即指该模块实现什么功能。(2)逻辑:即描述模块内部怎么做。(3)状态:即该模块使用时的环境和条件。

7.简述数据设计的原则。

(1)用于软件的系统化方法也适用于数据。(2)要确定所有的数据结构和在每种数据结构上施加的操作。(3)应当建立一个数据词典并用它来定义数据和软件的设计。(4)低层数据设计的决策应推迟到设计过程的后期进行。(5)数据结构的表示只限于那些必须直接使用该数据结构内数据的模块才能知道。(6)应当建立一个存放有效数据结构及相关操作的库。(7)软件设计和程序设计语言应当支持抽象数据类型的定义和实现。

8.程序流程图有哪几种基本控制结构?

(1)顺序型(2)选择型(3)先判定(while)型循环(4)后判定(until)型循环(5)多情况(case) 型选择。

三、名词解释

1.结构图的深度

在多层次的结构图中,其模块结构的层次数称为结构图的深度。结构图的深度在一定意义上反映了程序结构的规模和复杂程度。

2.结构图的宽度

结构图中同一层模块的最大模块数称为结构图的宽度

3.模块的扇入和扇出

扇出表示一个模块直接调用(或控制)的其他模块数目。扇入则定义为调用(或控制)一个给定模块的模块个数。

4.模块

软件系统的层次结构是模块化的具体体现。将整个软件划分成若干单独命名和可编址的部分,称之为模块。可以将这些模块组装起来以满足整个问题的需求。

5.信息隐蔽

信息隐蔽是指,每个模块的实现细节对于其他模块来说是隐蔽的。即模块中所包含的信息(包括数据和过程)不允许其他不需要这些信息的模块使用。

四、选择一种将三个数从小到大排序的算法,分别用(1)流程图,(2)N-S 图,(3)PAD 图描述其详细过程。

设数为a,b,c,其详细过程如下:

(1)流程图

(2)N-S图

(3)PAD图

第五章Jackson系统开发方法

一、问答

1.JSD 的系统模型是互相通信的一组进程的集合。进程间的通信可采用哪几种方式?

(1)进程活动同步发生。

(2)通过数据流通道发送/接收活动发生。

(3)访问公用存储信息。

2.JSD 方法是支持软件分析与设计的一组连续的技术步骤,它们包括哪些方面?

(1)

(2)

(3)

(4)

(5)实体动作分析:从问题的描述中,提取软件系统要产生和运用的实体(人、物

或组织),以及现实世界作用于实体上的动作(事件)。

实体结构分析:把作用于实体的动作或由实体执行的动作,按时间发生的先后次序排序,构成进程,并用一个层状的Jackson结构图表示。

定义初始模型:把实体和动作表示成一个进程模型,定义模型与现实世界的联系。

功能描述:说明与已定义的动作相对应的功能,为已定义的动作加入功能函数。决定系统时间特性:对进程加入时间因素,对进程调度特性进行评价和说明。

(6)实现:设计组成系统的硬件和软件,实现系统的原型。

3.在Jackson系统开发方法中定义了哪几种功能?

(1)嵌入功能:把操作分配(或写入)到模型进程的结构正文内。

(2)强制功能:检查模型进程的状态向量,并给出输出结果。

(3)交互功能:检查模型进程的状态向量,写入一个施加于模型进程活动的数据流,

或引入一个写出结果的操作。

二、填空

1.JSD 方法的前三步属于(需求分析)阶段,后三步属于(设计)阶段。

2.分析实体的动作,需要从一段用简单的自然语言给出的问题描述(通常是一个段落)入手。当选定了实体和动作的时候,实际上已经把要开发系统的(范围)划定了。

第六章用户界面设计课程作业

一、填空

灵活性复杂性和可靠

1.用户界面作为软件的重要组成部分,应当具备(可使用性

性)三方面的特性。

2.用户类型通常可以分为(外行型初学型熟练型专家型)种类型。

3.按照显示的形象或样式来分类菜单可分为(正文菜单图标菜单正文和图标混合的

菜单)。

4.按屏幕位置和操作风格来分类菜单可分为(固定位置菜单浮动位置菜单下拉式

菜单嵌入式菜单)。

5.常用的二维图形显示包括(直方图饼图折线图散布图)等几种。

二、问答题

1.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。它包括哪些内容?

(1)使用的简单性(2)用户界面中所用术语的标准化和一致性(3)拥有HELP 帮助功能(4)

快速的系统响应和低的系统成本(5)用户界面应具有容错能力

2.怎样理解用户界面的复杂性?

用户界面的规模和组织的复杂程度就是界面的复杂性。在完成预定功能的前提下,应当使得用户界面越简单越好。但也不是把所有功能和界面安排成线性序列就一定简单。

3.用户界面设计的任务分析应与软件系统的需求分析同步进行。它包括用那几个步骤?

用户特性分析、用户工作分析、记录用户有关系统的概念和术语、确定界面类型等4

个步骤。

4.用户特性的度量的主要衡量标准是什么?

1)用户使用的频度2)用户需要自由选用界面的情况3)用户对计算机的熟悉程度4)用户

知识5)用户思维能力6)用户的生理能力和技能

5.如果从用户与计算机交互的角度来看,用户界面设计的类型主要有哪些?

问题描述语言、数据表格、图形与图标、菜单、对话、以及窗口等等。每一种类型都

有不同的特点和性能。

6.对话框有哪几种对话形式?

(1)必须回答式(2)无需回答式(3)警告式。

7.问题描述语言是一种结构化的语言,它可以分为哪几层?

(1)任务层(2)语义层(3)语法层(4)交互层。

8.数据输入对话设计的一般规则是什么?

(1)确认输入(2)交互动作(3)明确取消(4)确认删除(5)提供反馈(6)允许编辑(7)提供复原(Undo)(8)自动格式化(9)提示输入的范围

第七章程序编码

一、填空

1.(程序编码)阶段的工作是把软件的详细设计变换成用某一种程序设计语言编写的

可实现的源程序。

2.结构化程序设计中,应注意数据结构的合理化问题,即数据结构访问的规范化,标准

化问题。对于数据结构中常使用的数组、指针等数据类型,一般可用(栈)和(队列)去代替。

3.源程序文档化包括(选择标识符的名字)、(安排注释)以及程序的(视觉组织)等。

二、问答

1.结构化程序设计的主要的原则有哪些?

(1)使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。(2)选用的控制结构只准许有一个入口和一个出口。(3)程序语句组成容易识别的块(Block),每块只有一个入口和一个出口。(4)复杂结构应该用基本控制结构进行组合嵌套来实现。(5)语言中没有的控制结构,可用一段等价的程序段模拟,但要求该程序段在整个系统中应前后一致。(6) 严格控制GOTO语句,仅在下列情形才可使用:a.用一个非结构化的程序设计语言去实现一个结构化的构造。b.在某种可以改善而不是损害程序可读性的情况下。

2.自顶向下逐步求精方法的优点是什么?

(1)自顶向下,逐步求精方法符合人们解决复杂问题的普遍规律。可提高软件开发的成功率和生产率;(2)用先全局后局部,先整体后细节,先抽象后具体的逐步求精的过程开发出来的程序具有清晰的层次结构,因此程序容易阅读和理解;(3)程序自顶向下,逐步细化,分解成一个树形结构,在同一层的节点上做细化工作,相互之间没有关系,因此它们之间的细化工作相互独立;在任何一步发生错误,一般只影响它下层的节点,同一层其他节点不受影响。在以后的测试中,也可以先独立地一个节点一个节点地做,最后再集成。(4)程序清晰和模块化,使得在修改和重新设计一个软件时,可复用的代码量最大;

第八章软件测试课程作业

一、填空

1.软件测试在软件生存期中横跨两个阶段:( 单元测试)和(综合测试)。

2.确认(Validation)是一系列的活动和过程,其目的是想证实在一个给定的外部环境中软件的(逻辑正确性)。它包括需求规格说明的确认和程序的确认,而程序的确认又分为(静态确认)与(动态确认)。

3.(验证)则试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。

4.测试过程至少需要三类输入,即(软件配置)、( 测试配置)、(测试工具)。

5.(排错的过程)是测试过程中最不可预知的部分,正是因为如此,才使得人们很难定出可靠的测试进度。

6.(软件的黑盒)测试意味着测试要在软件的接口处进行,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。

7.(软件的白盒测)试是对软件的过程性细节做细致的检查。这一方法允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测

试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

8.逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计技术,属(白盒测试)。

9.基本路径测试就是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导

出基本可执行(路径集合),从而设计测试用例。

10.等价类划分是一种典型的( 黑盒)测试方法,也是一种非常实用的重要测试方法。使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。

11.测试过程一般按4个步骤进行,即(单元测试)、(组装(集成)测试)、

(确认测试)、(系统测试)。

二、问答

1.什么是软件测试?

软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。如果给软件测试下定义,可以这样讲:软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果,并利用这些测试用例去运行程序,以发现程序错误的过程。

2.软件测试目的是什么?

测试的目标是想以最少的时间和人力找出软件中潜在的各种错误和缺陷。如果成功地实施了测试,就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能和性能与需求说明相符。此外,实施测试收集到的测试结果数据为可靠性分析提供了依据。

3.软件测试的原则是什么?

(1)应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。(2)测试用例应由

测试输入数据和与之对应的预期输出结果这两部分组成。(3)程序员应避免检查自己的程序。(4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(5)充分注意测试中的群集现象。(6)严格执行测试计划,排除测试的随意性。(7)应当对每一个测试结果做全面检查。(8)妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。

4.黑盒测试主要是为了发现以下那些错误?

(1)是否有不正确或遗漏了的功能?(2)在接口上,输入能否正确地接受?能否输出

正确的结果?(3)是否有数据结构错误或外部信息(例如数据文件)访问错误?(4)性能上

是否能够满足要求?(5)是否有初始化或终止性错误?

5.白盒测试主要对程序模块进行那些检查?

(1)对程序模块的所有独立的执行路径至少测试一次;(2)对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测试一次;(3)在循环的边界和运行界限内执行循

环体;(4)测试内部数据结构的有效性等。

三、判断

1.软件开发过程是一个自顶向下,逐步细化的过程,软件测试过程也是如此。

错误软件开发过程是一个自顶向下,逐步细化的过程,首先在软件计划阶段定义了软件的作用域,然后进行软件需求分析,建立软件的数据

域、功能和性能需求、约束和一些有效性准则。接着进入软件开发,首先

是软件设计,然后再把设计用某种程序设计语言转换成程序代码。而测试

过程则是依相反的顺序安排的自底向上,逐步集成的过程。低一级测试为

上一级测试准备条件。当然不排除两者平行地进行测试。

2.在软件测试中,若发现错误则说明程序有问题,软件需要修改;若未发现错误,则说明程序是正确的,软件可以交付使用。

错误软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在发

现错误时能说明程序有问题;但在未发现错误时,不能说明程序中没有错

误,不能说明程序中没有问题。

第九章面向对象技术课程作业

一、填空

1.根据Coad和Yourdon的定义,面向对象的概念可表示为:“面向对象=(对象)

+(类)+(继承)+(通信)”。

2.对象是面向对象开发模式的基本成分。每个对象可用其一组(属性)和它可以执行的一组(操作)来定义。

3.类是一组具有相同数据结构和相同操作的对象的集合。在一个类中,每个对象都是类的(实例),它们都可使用类中提供的函数。

4.面向对象分析是软件开发过程中的(问题定义)阶段。这一阶段最后得到的是对问题论域的清晰、精确的定义。

5.对象模型技术,即三视点技术,它把分析时收集的信息构造在三类模型中,即(对象模型)、(功能模型)和(动态模型)。

6.高层设计阶段开发系统的结构,即用来构造应用的总的(模型)。

7.利用现存类来设计新类,有4种方式:(选择)、(分解)、(配置)和(演变)。

8.Coad与Yourdon的方法是在信息模型化技术,面向对象程序设计语言及知识库系统的基础上发展起来的。这个方法分为( 面向对象分析(00A) )和( 面向对象设计(00D))两个部分。

二、问答

1.面向对象技术有哪些特色?

一是方法的唯一性,即方法是对软件开发过程所有阶段进行综合考虑而得到的。二是从生存期的一个阶段到下一个阶段的高度连续性,即在一个阶段所用到的部分与在下一个阶段所使用的部分是衔接的,所使用的技术经过生存期每一阶段后不改变。三是把面向对象分析(OOA)、面向对象设计(OOD)和面向对象程序设计(OOP)集成到生存期的相应阶段。

2.面向对象的设计包括哪几部分的设计?

(1)问题论域部分的设计;(2)用户界面部分的设计;(3)任务管理部分的设计;(4)数据

管理部分的设计。

3.Booch认为软件开发是一个螺旋上升的过程。在这个螺旋上升的每个周期中,有哪

几个步骤?

(1)发现类和对象;(2)确定它们的含义;(3)找出它们之间的相互关系;

(4)说明每一个的界面和实现。

第十章软件质量保证课程作业

一、问答

1.什么是软件的质量?

软件质量为“所有描述计算机软件优秀程度的特性的组合”。

也就是说,为满足软件的各项精确定义的功能、性能需求,符合

文档化的开发标准,需要相应地给出或设计一些质量特性及其组

合,作为在软件开发与维护中的重要考虑因素。如果这些质量特

性及其组合都能在产品中得到满足,则这个软件产品质量就是高

的。

2.软件质量反映了哪几方面的问题?

(1)软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。(2)在各种标准中定义了一些开发准则,用来指导

软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,

软件质量就得不到保证。(3)往往会有一些隐含的需求没有明确

地提出来。例如,软件应具备良好的可维护性。如果软件只满足

那些精确定义了的需求而没有满足这些隐含的需求,软件质量也

不能保证。

3.怎样理解软件质量保证的概念?

软件的质量保证就是向用户及社会提供满意的高质量的产品。

软件的质量保证活动也和一般的质量保证活动一样,是确保软件

产品从诞生到消亡为止的所有阶段的质量的活动。即为了确定、

达到和维护需要的软件质量而进行的所有有计划、有系统的管理

活动。

二、填空题

1.McCall等人于1979年提出了软件质量模型,其软件质量概念基于 11个特性之上。这11个特性分别面向软件产品的(运行)、(修正)和(转移)。

2.根据McCall等人的软件质量特性定义,(正确性)是指在预定环境下,软件满足设计规格说明及用户预期目标的程度。它要求软件没有错误。

1.根据McCall等人的软件质量特性定义,(可靠性)是指软件按照

设计要求,在规定时间和条件下不出故障,持续运行的程度。

2.根据McCall等人的软件质量特性定义,(效率)是指为了完成预

定功能,软件系统所需的计算机资源的多少。

3.根据McCall等人的软件质量特性定义,(完整性)是指为了某一

目的而保护数据,避免它受到偶然的,或有意的破坏、改动或遗失的能力。

4.根据McCall等人的软件质量特性定义,(可使用性)是指对于一个软件系统,用户学习、使用软件及为程序准备输入和解释输出所需工作量的大小。

5.根据McCall等人的软件质量特性定义,(可维护性)是指为满足用户新的要求,或当环境发生了变化,或运行中发现了新的错误时,对一个已投入运行的软件进行相应诊断和修改所需工作量的大小。

6.根据McCall等人的软件质量特性定义,(可测试性)是指测试软

件以确保其能够执行预定功能所需工作量的大小。

灵活性)是指修改或改

9. 根据McCall等人的软件质量特性定义,

(进一个已投入运行的软件所需工作量的大小。

10. 根据McCall等人的软件质量特性定义,(可移植性)是指将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行时所需工作量的大小。

11.根据McCall等人的软件质量特性定义,(复用性)是指一个软件(或软件的部件)能再次用于其它应用(该应用的功能与此软件或软件部件的所完成的功能有联系)的程度。

12.根据McCall等人的软件质量特性定义,(互连性)是指连接一个软件和其他系统所需工作量的大小。如果这个软件要联网,或与其他系统通信,或要把其他系统纳入到自己的控制之下,必须有系统间的接口,使之可以联结。

13.软件质量特性度量有两类:(预测型)和(验收型)。

14.定量地评价软件的质量,目前还不能精确地做到。一般采取由若干

(6~10)位软件专家进行打分来评价。其过程包括两步:(评分)和

(分析结果)。

三、判断

1.软件的容错技术是进行质量管理,实现产品应有质量所必不可少的技术,也就是软件工程中所讨论的先进的软件分析和开发技术和管理技术。

错误软件的避开错误技术是进行质量管理,实现产品应有质量

所必不可少的技术,也就是软件工程中所讨论的先进的软件分析

和开发技术和管理技术

第十一章软件维护课程作业

一、问答

1.为什么要对软件产品进行维护?

要求进行维护的原因多种多样,归结起来有三种类型:(1)改正在特定的使用条件下暴露出来的一些潜在程序错误或设计缺

陷。(2)因在软件使用过程中数据环境发生变化或处理环境发生

变化,需要修改软件以适应这种变化。(3)用户和数据处理人员

在使用时常提出改进现有功能,增加新的功能,以及改善总体性

能的要求,为满足这些要求,就需要修改软件把这些要求纳入到

软件之中。

2.软件的维护活动可以归为哪几类?

(l)改正性维护;(2)适应性维护;(3)完善性维护;

(4)预防性维护

3.影响软件维护工作量的程序特性有哪些?

在软件维护中,影响维护工作量的程序特性有以下6种。(1)系统大小;

(2)程序设计语言;(3)系统年龄;(4)数据库技术的应用;(5)先进的

软件开发技术;(6)其他:例如,应用的类型、数学模型、任务的难度、开关

与标记、IF嵌套深度、索引或下标数等,对维护工作量都有影响。

4.尽管软件维护申请的类型不同,但都要进行同样的技术工作。这些工作

有哪些?

修改软件需求说明、修改软件设计、设计评审、对源程序做必要的修改、

单元测试、集成测试(回归测试)、确认测试、软件配置评审等。

5.建立软件维护档案记录时,对每项维护任务应该收集那些数据?

为了估计软件维护的有效程度,确定软件产品的质量,同时确定维护的实

际开销,需要在维护的过程中做好维护档案记录。其内容包括程序名称、源程

序语句条数、机器代码指令条数、所用的程序设计语言、程序安装的日期、程

序安装后的运行次数、与程序安装后运行次数有关的处理故障次数、程序改变

的层次及名称、修改程序所增加的源程序语句条数、修改程序所减少的源程序

语句条数、每次修改所付出的“人时”数、修改程序的日期、软件维护人员的

姓名、维护申请报告的名称、维护类型、维护开始时间和维护结束时间、花费

在维护上的累计“人时”数、维护工作的净收益等。对每项维护任务都应该收

集上述数据。

6.如何提高软件的可维护性?

提高软件的可维护性,需从以下五个方面着手:1.建立明确的软件质量目标

和优先级;2.使用提高软件质量的技术和工具;3.进行明确的质量保证审查; 4.

选择可维护的程序设计语言;5.改进程序的文档。

7.软件维护是一组软件工程活动,它们发生于软件已交付给用户并已投入

运行之后;软件配置管理是一组追踪和控制活动,它们开始于软件开发项目开

始之时,结束于软件被淘汰之时。维护和软件配置管理之间的区别是什么?

二、填空题

1.在软件维护时,必然会对源程序进行修改。通常对源程序的修改不能无

计划地仓促上阵,为了正确、有效地修改,需要经历三个步骤。即(分析和

理解程序)、(修改程序)和(重新验证程序)。

2.在将修改后的程序提交用户之前,需要用以下的方法进行充分的确认和

测试,以保证整个修改后的程序的正确性:(静态确认)、(计算机确认)

和(维护后的验收)。

3.软件工程中,SCM活动的目标就是为了:(标识变更)、(控制变更)、(确保变更正确地实现)和(向其他有关的人报告变更)。

第十二章软件工程标准化与软件文档课程作业

一、问答题

1.软件工程标准的类型有哪些?

软件工程标准的类型包括过程标准(如方法、技术、度量等)、产品标准(如需求、设计、部件、描述、计划、报告等)、专业标准(如职别、道德准则、认证、特许、课程等),以及记法标准(如术语、表示法、语言等)。

2.软件工程标准化的意义是什么?

为什么要积极推行软件工程标准化,其道理是显而易见的。仅就一个软件开发项目来说,有许多层次。不同分工的人员相互配合,在开发项目的各个部分以及各开发阶段之间也都存在着许多联系和衔接问题。如何把这些错综复杂的关系协调好,需要有一系列统一的约束和规定。在软件开发项目取得阶段成果或最后完成时,需要进行阶段评审和验收测试。投入运行的软件,其维护工作中遇到的问题又与开发工作有着密切的关系。软件的管理工作则渗透到软件生存期的每一个环节。所有这些都要求提供统一的行动规范和衡量准则,使得各种工作都能有章可循。

3.软件工程标准分哪些层次?

根据软件工程标准制定的机构和标准运用的范围不同,可分为五个级别,即国际标准、国家标准、行业标准、企业(机构)标准及项目(课题)标准。

4.中国的软件工程标准哪几类?

分为4类:①基础标准;②开发标准;③文档标准;④管理标准。

5.什么是软件工程中的文档?

文档是指某种数据媒体和其中所记录的数据。它具有永久性,并可以由人或机器阅读,通常仅用于描述人工可读的东西。在软件工程中,文档常常用来表示对活动、需求、过程或结果进行描述、定义、规定、报告或认证的任何书面或图示的信息。它们描述和规定了软件设计和实现的细节,说明使用软件的操作命令。文档也是软件产品的一部分,没有文档的软件就不成其为软件。软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量。高质量、高效率地开发、分发、管理和维护文档对于转让、变更、修正、扩充和使用文档,对于充分发挥软件产品的效益有着重要的意义。

6.软件文档的作用是什么?

在软件的生产过程中,总是伴随着大量的信息要记录、要使用。因此,软件文档在产品的开发生产过程中起着重要的作用:l)提高软件开发过程的能见

度。2)提高开发效率。3)作为开发人员在一定阶段的工作成果和结束标志。4)记录开发过程中的有关信息,便于协调以后的软件、开发、使用和维护。5)提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人员、操作人员、用户之间的协作、交流和了解。6)便于潜在用户了解软件的功能、性能等各项指标,为他们选购符合自己需要的软件提供依据。

7.高质量的软件文档应当体现在哪几个方面?

(1)针对性;(2)精确性;(3)清晰性;(4)完整性;(5)灵活性。

第十三章软件项目管理与计划课程作业

一、问答

1.对软件进行度量的目的是什么?

表明软件产品的质量、弄清软件开发的生产率、给出使用了新的软件工程

方法和工具所得到的(在生产率和质量两方面)的效益、建立项目估算的“基线”、帮助调整对新的工具和附加培训的要求。

2.软件开发成本应如何估算?

软件开发成本,主要是指软件开发过程中所花费的工作量及相应的代价,

不包括原材料和能源的消耗,主要是人的劳动的消耗。此外,软件产品不存在

重复制造过程,它的开发成本是以一次性开发过程所花费的代价来计算的。因

此软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、组装测试到确认测试,整个软件开发全过程所花费的人工代价作为依据的。

二、填空题

1.在做软件项目估算时往往存在某些不确定性,使得软件项目管理人员无

法正常进行管理而导致产品迟迟不能完成。现在已使用的实用技术是(时间)和(工作量)估算。

软件工程课程介绍

课程介绍 课程特点: -既是一门技术学课程,也是一门管理学课程; 一既具有理论性,也具有较强的实操性。 课程目的: 一基本: 掌握软件工程的基本概念和基本原理; 掌握分析、设计、测试与维护软件系统的理论与方法; 实践软件系统 开发的全过程,构建一个软件系统。 一进一步: 转变对软件的认识:程序---------- 系统; 转变思维定式:程序员---------- 系统分析员/系统设计员; 工程化训练:规范、准则、项目管理。 课程的主要内容: 软件工程人才分布示意图

-软件工程的产生、软件的生命周期、生命周期模型; -软件开发各阶段的目标、任务、特点、步骤和文档; -传统软件工程的基本思想,开发过程和步骤,应遵循的原则和准则; -面向对象软件工程的基本思想、基本过程和基本模型; -软件工程的管理技术。 课程重点: -掌握结构化方法开发软件系统的过程、步骤、应遵循的原则以及工_ 具。 Chp.7编码与测试(实现) 教学安排: -48学时讲授; -课后作业和课后实验。 考核: —期末考试:70%;

一作业+分组实验:30%。 教材: -软件工程导论(5th),张海藩,清华大学出版社 参考文献 -软件工程(第二版),齐治昌,高等教育出版社 -软件工程实践教程,谭庆平等,高等教育出版社 先修课程: -程序设计语言 -数据结构 -数据库原理与设计 课程实验: —实验题目: 题目1:课程注册系统 为高校教务管理部门开发一个选修课程注册管理系统。在每学期开学前,教务管理人员可利用该系统输入课程信息、设定课表(每门课的任课教师、上课地点、上课时间)。开学后,学生可以利用该系统查询课程和课表信息,在第一周内注册课程和取消对课程的注册。软件系统负责将学生所选课的列表通知计费系统以确定学生应缴纳的选课费用。在学期内,任课教师可随时查询选修其所授课程的学生的信息,学生可以随时查询课程信息、课表、本人已选课程列表,教务管理人员可以随时查询所有信息。学期结束, 教师可登记学生考试成绩。 题目2:航空定票系统

软件工程课程设计任务书(模板及参考)

编号: 大连理工大学本科生课程设计任务书 课程名称:软件工程课程设计 指导教师: 项目名称:粒子群主题网站 小组名称: 组长姓名: 上课时间:2009年7月13 日- 7月25 日 大连理工大学软件学院 20 年月日

1 设计目的 软件工程课程设计是在学生系统的学习了《软件工程》课程后,综合运用所学的知识,设计开发一个小型的实际系统。 要求学生运用软件工程的思想,严格按照软件生命周期各个阶段的目的和任务,完成对系统的定义、设计、编码、运行以及后期的维护。通过对具体系统的设计和开发,使得学生掌握软件工程的基本原理和基本方法,学会用软件工程学的概念、原理、方法开发和维护软件。 2 设计要求 (1)选用迭代式开发的过程模型,运用软件工程的方法,规范地完成规模小、功能较为简单 的软件开发,包括需求分析、设计、编码和测试。 (2)学生5人组成一个项目小组,一人为组长,其他人为组员,组内成员分工明确、团结协 作、相互配合,共同完成选题的设计。 (3)课程设计时间为2周。 (4)开发平台.NET3.5,语言(C# \ ASP),数据库设计工具Powerdesigner;数据库系统MS SQL Server 2005 (5)具体指标: 1)可以选择结构化分析/设计(SA/SD)或面向对象方法(OOA/D) 2) 结构化分析/设计(SA/SD) a)需求分析:分析系统的静态功能和动态行为 每一位小组成员能够描绘分配的子功能需求 每一位小组成员完成分配子功能的数据流图DFD,要求绘制到3级DFD3 小组负责人组织完成系统的DFD3 b)设计:完成系统的功能模块设计 每一位小组成员根据需求的DFD3图,完成分配的子功能模块设计,用HIPO 图表征。 每一位小组成员设计分配的子功能模块的接口 每一位小组成员能够完成分配的子功能程序流程的逻辑设计 小组负责人组织完成系统的总体结构集成 c)软件实现: 每一位小组成员完成分配的子功能界面的设计 每一位小组成员完成分配的子功能代码编写 小组负责人在.NET框架下,组织完成系统的实施 d)软件测试: 每一位小组成员完成分配的子功能的单元测试 小组负责人负责组织系统的测试用例,不少于20个,完成测试工作 3)面向对象方法(OOA/D):以UML为主 a)需求分析:分析系统的静态功能和动态行为

2010软件工程课程设计要求注意事项

2010软件工程课程设计要求 注意事项: 1.每2个同学组成一组,每组都要演示,因此每组最好有一个同学能够有笔记本。 2.每组派一个代表抽签,抽中几号题签就做几号项目。 3.所有系统,均要考虑简单的人员权限分配问题,登录该系统的用户应当可以修改 自己口令; 4.对于各种需要录入的信息,系统需求并没有给出全部需要录入的字段,请同学们 在做项目的时候增加上适当的字段,以使得你的项目更合理,比如在录入出租房屋信息的时候,应当录入房屋所在的区、楼层、租金、房屋朝向、是否有空调等等;在录入个人简历的时候需要录入学历、毕业大学、专业、英语水平等等。 5.当一个页无法显示全部列表信息的时候,要考虑分页处理,并且需要有上一页、 下一页的功能。 6.请注意每个项目中是否需要上传文件(图片、其它附件等)。 7.所有程序开发工具不限,数据库不限,但最后必须提供可执行文件,并进行演示。 成绩说明: 1、总成绩 个人总成绩=小组成绩*30%+个人成绩*70% 2、小组成绩 需求分析15%(文档格式规范、充分理解需求、对需求中不明确的地方能补充完整、主要业务用流程图和用例图加以表达清楚) 数据库设计10%(符合三范式、数据库的设计和实施是一致的、数据库的字段、表命名规范且类型选择合理、数据库字段有适当的约束、数据库设计有适当的注释) 系统设计(概要/详细)15%(文档格式规范、各功能模块有完整的实现说明、关键算法有类图和时序图) 项目管理5%(项目开发计划必须由粗到细通过GANT 图给出,每项任务要落实到人且规定该任务的起止日期和时间;明确每个阶段提交文档的日期和时间)代码质量10%(符合代码开发规范和命名规范、代码运行流畅、有适当的代码注释) 项目测试10%(有详细的测试用例和测试代码、有测试结果、有健壮性测试,测试文档规范) 用户安装及使用手册10%(安装手册和使用手册完整、详细,有实际价值,同时符合文档规范) 项目提交25%(满足项目的基本功能要求,系统运行速度较快、用户界面友好操作简单、对错误输入有一定的检查和提示、提交及时、讲解清楚)

软件工程课程设计----作业提交系统

作业提交系统 1、引言 1.1 问题定义 解决传统的FTP服务器不能够满足作业上传的要求下: 1.教师发布作业必须到服务器上建立文件夹 2.教师发布作业由在黑板上写的形式改为在网页上写再发布 3.教师不能对作业进行限制如大小,类型,过期时间 4.教师下载作业的必须到服务器去下载改为在局域网内任何一台计算机都可以下载5.教师无法发布成绩改为通过网页发布成绩 6.学生一次未完成的作业可以先上传再下载,完成之后再上传。 7.学生上传作业只须点一个按钮,无须选择要上传的目录 2、开发环境 2.1 Visual Studio 2005概述 Visual Studio.2008是.NET平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,Visual https://www.doczj.com/doc/324562364.html,都可以提供近乎完美的解决方案。VisuaStudio.2008提供了包括设计、编码、编译调试、数据库连接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具和应用程序重新发布工具以及性能评测报告等高级功能。 2.2 C# 简介 C#是一种先进,面向对象的语言,通过C#可以让开发人员快速的建立大范围的基于MS 网络平台的应用,并且提供大量的开发工具和服务帮助开发人员开发基于计算和通信的各种应用。由于C#是一种面向对象的开发语言,所以C#可以大范围的适用于高层商业应用和底层系统的开发。即使是通过简单的C#构造也可以使各种组件方便的转变为基于WEB的应用,并且能够通过Internet被各种系统或是其他开发语言所开发的应用程序调用。 2.3 ASP简介 ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web 应用程序。 2.4 Server SQL Microsoft简介 Microsoft SQL Server 2008是一个高性能的客户端/服务器结构的关系数据库管理系统(RDBMS,Relational Database Management System)。SQL Server 2008是为了支持高容量的事务处理(比如在线订购录入、存货目录、记帐或制造)以及数据仓库和决策支持系统(比如销售分析应用)而设计的。它运行在Microsoft Windows NT4或Microsoft Windows 20008 Server上——基于intel处理器的网络。可以把SQL Server 2008作为一种个人桌面数据库系统安装在运行Window NT Workstation 4、Windows 2008 Professional、Windows98和Windows Millennium Edition(Me)的机器上。

软件工程课程设计选题

软件工程课程设计选题 1、俄罗斯方块 设计俄罗斯方块游戏程序,用户可以通过平移和转动自动落下的不同形状物体,填满一行来得分。开发智力和反应能力。 要求 (1)界面的左侧是游戏区域。新的图形会在顶部刷新,并且自动下落,可以通过方向左右键平移和方向上键顺时针旋转来控制图形落下的位置。 (2)界面的右侧是选项和显示区,显示现在的得分,以及开始游戏、暂停游戏、结束游戏按钮。 2、商品销售统计 编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或件),单价。所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量,件数等),根据单价算出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。 要求 (1)第一部分用于输入商品的信息并允许修改和删除; (2)第二部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码表示本次购物结束。此时。程序计算出应付钱款数并显示。 3、校园卡管理系统 针对校内通用的校园卡需要统一管理这一需求而推出。通过这个程序,可以较为方便地实现用户的登陆以及个人信息的查询更改等服务,同时管理员将以特定的帐号登陆,实现对所有用户信息及账户信息的管理。 要求 (1)以用户身份登陆可查询个人信息,并对相关信息作出修改,提交后新信息将写入数据库,取代原有信息。可查询个人的帐户信息,包括帐户余额、今日消费、末次充值情况等。可实现网上充值,通过与银行卡的连接,只要用户输入正确密码,即可从银行卡往校园卡转帐,同时帐户信息中末次充值情况将自动更新。可修改个人的登陆信息,对登陆密码作出修改。 (2)以管理员身份登陆,可查阅所有用户的信息,以及他们对应的帐户信息。可对用户信息作出相应的增删改操作,并自动将修改写入数据库,实现更新。通过输入任意确定条件,即可查询该用户的所有信息,包括个人信息及账户信息,同时在此基础上,实现增删改。 4、中国象棋打谱软件 中国象棋打谱软件提供给用户的一个能将对弈过程保存成文件并可以重对弈过程即复盘。主要功能有: 1. 制作棋谱, 2. 保存棋谱, 3. 演示棋谱。 要求

软件工程课程教学大纲

《软件工程》课程教学大纲 (Soft Engineering) 课程编号: 学分:3 学时:48 (其中:讲课学时:42 实验学时:上机学时:6 )先修课程:C语言程序设计、数据结构与算法、计算机网络、数据库原理与应用、操作系统 后续课程:面向对象程序设计、信息工程监理、信息系统测评技术、软件工程实训 适用专业:计算机相关专业 开课部门:专业数学教研室 一、课程教学目的和课程性质 《软件工程》是信息与计算机科学专业本科学生的专业选修课,是一门综合性和实践性很强的课程。本课程主要介绍如何把工程化的思想和技术应用于软件系统的开发过程,以及在软件开发过程中必须遵循的基本原理、方法和工程标准。通过教学,使学生对软件生产工程化的具体思想、要求和方法均有较全面的了解, 为今后独立从事软件系统的开发打下相应的工程基础。 二、课程的主要内容及基本要求 第1单元软件工程学概述(3学时) [知识点] 软件的发展过程、软件危机、软件工程及开发方法。 [重点] 软件工程的基本概念、软件工程学的基本内容和软件生命周期中各阶段的基本任务。 [难点] 软件过程模型 [基本要求] 1、识记:软件、软件危机、软件工程、软件工程方法学; 2、领会:软件工程过程模型的定义及其特点; 3、简单应用:软件危机的产生原因; 4、综合应用:解释软件工程产生的原因,结合不同的软件特点对其开发应

当采用的软件过程模型。 [考核要求] 1、软件工程的定义; 2、软件生命周期的定义及其各个开发阶段的任务; 3、软件工程方法学定义及经典软件过程模型。 第2单元可行性研究(5学时) [知识点] 可行性研究的主要内容、任务及研究过程,系统流程图、数据流图、数据字典。 [重点] 系统流程图、数据流图的画法。 [难点] 可行性研究中的上层数据流图的构成方法。 [基本要求] 1、识记:可行性研究的主要内容、任务; 2、领会:如何画出所需的系统流程图; 3、简单应用:分析所需的数据字典并根据数据字典定义方法定义相关词条; 4、综合应用:在可行性研究过程中分析系统流程图,总结其数据字典,画出上层的数据流图。 [考核要求] 1、可行性研究的主要内容、任务; 2、数据流图的定义及画法,能够分析并画出可行性研究中的上层数据流图; 3、数据字典的组成及其符号定义方法。 第3单元需求分析(5学时) [知识点] 需求分析的任务、与用户沟通获取需求的方法、分析建模与规格说明、实体—联系图、状态转换图、其他图形工具、数据规范化。 [重点] 实体-联系图的概念及画法、状态转换图的定义及画法和常用图形工具的使用方法。 [难点]

软件工程课程设计任务书

《软件工程》课程设计 任务书 一、目的、要求 通过该课程设计要使学生树立起强烈的工程化意识,用工程化思想和方法开发软件。切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。 二、主要内容 要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。每个学生选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华大学出版社出版),按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。具体的方法可以选用传统的软件工程方法或者面向对象的方法,开发环境和工具不限。 三、进度计划 四、设计成果要求 1.至少提交4个文档,包括软件计划、软件需求规格说明书、软件设计说明书、软件测试计划,要求文档格式规范、逻辑性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范; 2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。 五、考核方式 (1)提交的文档规范,工作量大,文档逻辑性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》实验报告评分表)占60%(2)系统验收、讲解、答辩占25% (3)考勤占15% 学生姓名:(此处为签名)

指导教师: 2011年6 月17 日《软件工程课程设计》实验报告评分表

(注:素材和资料部分来自网络,供参考。请预览后才下载,期待你的好评与关注!)

软件工程大作业+暑期软件工程课程设计模板1

《 题 目: 线性表的设计和实现 专业年级: 2014级计算科学与技术专业 指导教师: 李四 年 月 日

中国石油大学胜利学院《软件工程》课程大作业 摘 要 数据结构算法设计和演示(C++)树和查找是在面向对象思想和技术的指导下,采用面向对象的编程语言( C++)和面向对象的编程工具(Borland C++ Builder 6.0)开发 出来的小型应用程序。它的功能主要是将数据结构中链表、栈、队列、树、查找、图和排序部分的典型算法和数据结构用面向对象的方法封装成类,并通过类的对外接口和对象之间的消息传递来实现这些算法,同时利用C++ Builder 6.0中丰富的控件资源中帮助理解、辅助教学和自我学习的作用。 关键词:毕业设计;格式;规范

ABSTRACT Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Keywords :Xxxx;Xxxx;Xxxx

目 录 错误!未定义书签。 2.2.2 三级标题名 .................................................................. 错误!未定义书签。 2.3 线性链表 ................................................................................................................... 3 第三章 设计的主体内容 (3) 3.1 系统结构的设计 ....................................................................................................... 5 3.2 交互界面的设计和实现 ........................................................................................... 5 3.3 线性表的00P 序设计 ............................................................. 错误!未定义书签。 3.3.1 线性表的顺序存储的实现 .......................................... 错误!未定义书签。 第四章 结果分析与讨论 ...................................................................................................... 6 第五章 结论 ........................................................................................................................ 15 参考文献 ................................................................................................................................ 18 致 谢 ................................................................................................................................ 19 附 录 .. (20) 附录A 名词术语及缩略词 (20)

第1章_软件工程学概述练习题

第一章练习题 一、判断题 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(√) 2..软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开 发实际上就是编写程序代码。(X) 3.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是 生成类的模板。(X) 4.快速原型模型可以有效地适应用户需求的动态变化。(√) 5.类是关于对象性质的描述,由方法和数据组成。(√) 6.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(√) 二、名字解释: 1.软件:完成特定功能的程序+数据结构+文档。 2.软件危机:软件危机指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。 3.软件工程:指导计算机软件开发和维护的一门工程学。 4.软件生命周期:一个软件从定义、开发、使用和维护直至最终被废弃,要经历的漫长时 期。 5.软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任 务的工作步骤。 6.瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可 行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试盒维护。它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。 7.快速原型模型:是快速建立起来的可以再计算机上运行的程序,它所能完成的功能往往 是最终产品能完成的功能的一个子集。 8.增量模型:是在项目的开发工程中以一系列的增量方式开发系统。增量方式包括增量开 发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件; 增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。 9.螺旋模型:是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模 型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。 对象。

软件工程课程安排

大一是网页制作,经典算法,c语言,军事理论,写作,高数1和高数2,离散1,中国近代史,思想道德,电子电路,英语1和2。大二是数据库原理,编译原理,离散2,数字电路,汇编语言,c++语言,mfc,计算机组成原理,英语3和4,日语1和2,马克思原理,毛邓。大三时jsp课程设计,sql server数据库,计算机体系结构,计算机网络,操作系统,计算机图形学,算法,日语3和4,人工智能,软件工程。大四我就不知道了。我刚读到大三。

《算法分析与设计》打下基础。 参考教材:《C++语言程序设计教程》谭浩强等编,高等教育出版社。 考核方式:考试。 3、04261050离散数学 《离散数学》是计算机科学与技术专业的必修课,主要学习集合论,图论,数理逻辑,形式语言等内容。本课程为学习计算机科学专业理论作好必要的准备知识,并为提高专业理论水平打下扎实的基础。 参考教材:《离散数学》朱一清编,电子工业出版社。 考核方式:考试。 4、04261060汇编语言程序设计 《汇编语言程序设计》是计算机科学与技术专业的必修课程,本课程的教学目的是:使学生掌握用汇编语言编写程序及上机运行的基本方法和技能,能用汇编语言设计实用程序,并了解与软、硬件有关课程的一些概念。 参考教材:《IBM PC汇编语言程序设计》沈美明、温科婵编,清华大学出版社。 考核方式:考试。 5、04261070数字逻辑 《数字逻辑》是计算机科学与技术专业的必修课。本课程是学习数字电路逻辑设计的理论和方法的一门课程。通过本课程的学习,使学生在深入理解理论的基础上,掌握数字电路组合网络和时序网络的分析与设计方法。前导课为《电路与电子技术》,后续课为《计算机组成原理》、《微机接口技术》、《计算机通信与网络》等课程。 参考教材:《数字逻辑与数字系统》王永军等编,电子工业出版社。 考核方式:考试。 6、04261080计算机组成原理 《计算机组成原理》是计算机科学与技术专业的必修主干课。本课程以《数字逻辑设计基础》及《汇编语言程序设计》为基础,主要讲授运算基础,运算器与运算方法;控制器与微程序设计;存储系统与辅助存储器;输入输出系统;计算机系统概述。通过本课程的学习,使学生能够较深入地理解与掌握计算机各功能部件的逻辑设计与实现,以及计算机整机各部件间的逻辑关系与连接。为后续课《微机接口技术》等奠定了理论与实验基础。

2014软件工程课程设计任务书

《软件工程》课程设计任务书 一、目的及意义 软件工程课程设计是在学生学习了《软件工程》课程的同时,综合运用所学的知识,设计开发一个小型的实际系统。 要求学生运用软件工程的思想,严格按照软件生命周期各个阶段的目的和任务,完成对系统的定义、设计、编码、运行以及后期的维护。通过对具体系统的设计和开发,使得学生掌握软件工程的基本原理和基本方法,学会用软件工程学的概念、原理、方法开发和维护软件。 二、内容及要求 自拟课题,可以进行相关系统或网站设计(如资源管理系统、网络监控系统、勤工俭学管理系统、个人财务管理系统、大学城二手物品在线交易网站等),然后以项目小组的形式完成项目。 本课程设计要求学生采用“项目小组”的形式,结合具体的开发项目进行设计,对软件生命周期的每一个阶段包括可行性分析、需求分析、概要设计、详细设计、编码、测试等严格按照软件工程规范实施一个具体的案例。具体要求如下: 1.可以选择结构化分析/设计(SA/SD)或面向对象方法(OOA/D) 2.结构化分析/设计(SA/SD) 1)需求分析:分析系统的静态功能和动态行为。每一位小组成员能够描绘分配的子功能需求;每一位小组成员完成分配子功能的数据流图DFD,要求绘制到3级DFD,小组负责人组织完成系统的DFD。 2)设计:完成系统的功能模块设计。每一位小组成员根据需求的DFD图,完成分配的子功能模块设计,用HIPO图表征。每一位小组成员设计分配的子功能模块的接口,每一位小组成员能够完成分配的子功能程序流程的逻辑设计,小组负责人组织完成系统的总体结构集成。 3)软件实现:每一位小组成员完成分配的子功能界面的设计,每一位小组成员完成分配的子功能代码编写,小组负责人在.NET框架下,组织完成系统的实施。 4)软件测试:每一位小组成员完成分配的子功能的单元测试,小组负责人负责组织系统的测试用例,完成测试工作。 3.面向对象方法(OOA/D):以UML为主 1)需求分析:分析系统的静态功能和动态行为。每一位小组成员完成一个用例分

软件工程课程设计要求

《软件工程》课程设计 一、目的、要求 通过该课程设计使学生树立起强烈的工程化意识,用工程化思想和方法开发软件,切实体会用软件工程的方法开发系统与一般程序设计方法的不同之处。学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。 二、主要内容 要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。每个学生选择一个小型软件项目,题目可参考附录A,也可自行拟定题目,按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。分别、选用传统的结构化方法和面向对象的方法,开发环境和工具不限。 三、设计成果要求 1.提交软件系统,根据完成情况给分; 2.提交设计报告文档 设计报告将从以下三个方面给分: (1)报告是否规范,符合要求; (2)报告是否完整、工作量大小; (3)文档逻辑性是否合理、语言是否流畅。 四、进度安排 (1)确定选题,进行可行性分析,开发计划 (2)软件需求分析 (3)软件设计 (4)软件实现,测试计划 (5)软件实现,测试报告 (6)验收

附录A 课程设计题目 题目一:电子商务网站建设 一个集客户购物、下订单、订单处理、销售统计等功能于一体的系统。通过浏览器,创建账户/登陆账户,让客户可以查询货物,把货物放入购物车,创建订单,通过信用卡支付等。系统划分成了多个模块,松耦合的设计架构,允许可以和多个数据源,EIS(企业信息系统)进行交互。功能如下: 1.用户 注册/登陆/忘记密码/管理个人信息 查询货物 购物车管理 提交订单 信用卡支付 查询历史购物记录 2.货物商店 接受/处理订单消息 手工接受/拒绝订单 用E-mail来通知客户 发订单给供应商 销售统计 3.供应商 接受订单 派送货物给用户 提供一个基于web的库存管理 维护库存数据库 题目二:外文图书采购系统 1.问题概述 某图书馆外文采购有两个组--征订组和验收,登记组。分别承担书籍订购和进书验收任务。为了减轻劳动强度和提高工作效率,打算采用计算机进行管理。为此,系统分析员在进行了调查研究,描述出外文采购室现行系流程。 1)订书组从供书单价收到订书目录,根据各单位的需要选择出要订购的书目。

软件工程学概述单元测试

3.总体设计单元测试 一、填空题 1.软件模块独立性的两个定性度量标准是()和()。 2.为使用流程图描述结构和程序,限制流程图有五种基本的控制结构()、()、()、until循环、多情况型选择。 3. 软件的结构化设计(SD)方法中,一般分为总体设计和详细设计两阶段,其中总体设计主要是要建立()。 4.层次结构的上一层是下一层的(),下一层是上一层的()。 5.一个模块直接调用的模块数目称为模块的(),一个模块被多少上级模块直接调用称为模块的()。 6.软件设计方法中的Jackson方法是一种()的设计方法。 7.模块的耦合性按耦合强弱程度,由弱到强依次是:非直接耦合、()、标记耦合、控制偶合、外部耦合、公共耦合、()。 8.()内聚是指模块内各成分之间并不存在有意义的联系。 二、判断题 1. 模块越多,开发成本越小。 2. 耦合是指一个模块内各个元素彼此结合的紧密程度。 3. 内聚是指一个软件结构内各个模块之间互连程度的度量。 4. 在软件设计中应该尽量设计紧密耦合的系统。 5. 内容耦合又称为病态耦合,在很多高级程序设计语言中不允许出现任何形式的内容耦合。 6. 如果一个模块内的处理元素是彼此相关的,并且以一个特定的次序执行,则这种内聚为时间内聚。 7. 概要设计阶段完成的主要文档是概要设计说明书。 8.模块的控制域应该在作用域之内。 9.用盒图和PAD图设计出来的算法必定是结构化的。 10.一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。 三、选择题 1.用()图描述的程序结构容易实现自动生成程序 A.程序流程图 B.NS盒图 C.PAD图 D.数据流图 2.()可以作为模块。 A.过程 B.子程序 C.函数 D.宏 3.下列关于模块的描述,正确的是()。(多选)

软件工程课程设计要求

软件工程课程设计要求 1.软件工程课程设计简介 软件工程课程设计为软件工程课程的必修实践环节,目的是使学生巩固课堂所学的理论知识并加深理解,增强感性认识,培养观察、分析和解决问题的能力,初步建立正确的软件工程概念。通过本课程,使得学生初步能够将掌握软件工程中的理论知识应用于软件项目开发过程中具体的问题。通过实习能够提高学生的动手能力,团队协作能力以及项目管理能力。 2.课程设计的基本要求 学生选择附录2中任意一个项目,按照软件工程中的开发方法和项目管理方法来进行软件项目开发,按期分阶段的完成老师布置的各个阶段的项目文档。 在课程设计过程中,要求学生通过查阅资料来了解所开发项目的背景知识,选择适当的软件开发方法来进行系统建模,然后选择适当的平台进行系统开发。 3.实习内容以及时间分配 具体实习的内容见下面的附件,时间分配如下: 查阅资料,完成系统需求分析,确定系统开发平台,撰写需求分析说明书(10学时) 完成系统概要设计,撰写系统概述设计说明书(10学时) 完成系统详细设计,撰写系统详细设计说明书(10学时) 系统编码实现(20学时) 软件测试,撰写软件测试说明书(10学时) 准备材料完成项目答辩。(4学时) 4.考核方式以及成绩评定 考核方式分为以下两个部分:系统文档(50%),最终系统的实现及源代码(50%)。系统文档为软件实习中各个阶段产生的软件工程文档,每个文档将从文档的格式、语言

表述能力、系统分析能力和各种CASE工具运用能力方面来进行考核。系统实现及源代码包括系统最后可运行的程序,实现的源代码以及最后的项目完成情况。 5.推荐教材与主要参考书 陈明,软件工程,清华大学出版社 附录1.软件工程课程设计题目简介 网上在线销售系统 要求实现一个简单的网上销售系统,在此系统下能够为各个商户分配资源空间,各个商户能够对自己的资源空间进行管理(包括添加货物,删除货物,更新信息等)并能够统计目前物品的销售情况和当前遇到情况。当消费者浏览商户的主页时,能够对指定的商品进行订货。系统管理员能够对不法商品和信息进行管理,能够对商户的销售情况进行统计分析,能够删除分配给商户的资源空间…,系统能够按照商品销售热度,将较为热门的商品及商户信息自动发布到系统主页上,系统管理员也能手工地对主页信息进行管理。 BLOG系统 要求实现一个简单的但功能完善的网上Blog系统,用户通过网上注册能够获得自己的BLOG空间,能够在其空间里面进行日记的发布、修改和删除,能够按照一定的模板对自己空间的主页进行修改,用户能够向自己的空间内上传一些资源。日志的浏览用户能够对日志发表看法或评论,日志作者能够对这些评论进行回复。系统能够自动监控系统中不法信息的发布,将信息提交给管理员进行审核,系统管理员能够搜索系统中所有的信息内容,并能够对这些内容进行管理。系统能够根据用户日志空间的访问量,已经日志的访问数量,将最热的日志和日志空间发布到BLOG系统的主页上…。 RSS信息聚合系统 要求实现一个离线的RSS信息阅读器,能够对指定网站上的RSS信息进行订阅和管理,当RSS信息更新后,通过此工具能够将更新的内容反映到界面上,能够让用户方便地浏览当前的RSS内容,当用户点击相应的RSS内容链接后,能够通过浏览器将此RSS新闻的详细内容打开,供用户浏览。同时用户也能够取消对指定网站的RSS信息的

软件工程课程设计报告案例

网上招聘系统分析设计

目录 第一章网上招聘系统需求规格说明书.................... - 3 - 第二章软件项目的概要设计说明书. (16) 第三章网上招聘系统详细设计 (54) 第四章软件项目的编码案例说明 (67) 第五章网上招聘系统客户端系统测试计划 (74) 第六章网上招聘系统客户端系统测试设计 (78) 第八章网上招聘系统客户端系统测试报告 (95)

第一章网上招聘系统需求规格说明书 1.导言 1.1 目的 该文档是关于用户对于网上招聘系统的功能和性能的要求,重点描述了网上招聘系统的功能需求,是概要设计阶段的重要输入。 本文档的预期读者是: ·设计人员; ·开发人员; ·项目管理人员; ·测试人员; ·用户。 1.2 围 该文档是借助于当前系统的逻辑模型导出目标系统的逻辑模型的,解决整个项目系统的“做什么”的问题。在这里,没有涉及开发技术,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的平台。 1.3 编写说明 HR,Human Resource(人力资源管理)的缩写。 JSP,Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。 UML,Unified Modeling Language(统模语言)的缩写,是一个标准的建模语言。 1.4 术语定义 无 1.5 引用标准 [1]《企业文档格式标准》,****************软件工程过程化组织 [2]《需求规格报告格式标准》,************软件工程过程化组织 1.6 参考资料 [1]《UML说明》,***********************软件 [2]《需求规格报告格式标准》,************公司软件工程过程化组织 1.7 版本更新信息 本文档的更新记录如表A-1所示。 表A-1 版本更新记录 修改编号修改日期修改后版本修改位置修改容概述 001 002 003 004 005 2008.9.5 2006.9.10 2006.9.15 2006.9.16 2006.10.18 0.1 0.2 0.3 0.4 1.0 全部 第3.1节 第4.1节 第5.1节 第7章 初始发布版本 增加 修改 修改 增加 2.系统定义 我们分别阐述一下项目的来源、背景,项目的用户特点和项目的目标。 2.1 项目来源及背景 本项目是为某公司开发的一个网上招聘系统,由于这个公司的规模比较大,需要招聘 的员工也很多,每次招聘总能收到成千上万的简历,如何挑选合适的应聘者常常是公司比较

最新图书系统软件工程课程设计作业1

图书管理系统软件工程课程设计作业1

南京信息工程大学题目: 图书管理系统可行性研究 院系:滨江学院公共管理系 专业:信息管理与信息系统 学生姓名:吴贝健 学号:20142307041 指导老师:毕硕本

引言 目前国内中小型企业的图书管理系统平台主要有两种。第一种是系统在小型机(如IBM AS/400 RISC/6000)上开发运行。这种平台优点是与服务器相比机器速度快,容量大,自身网络安全、可靠、开放性强,适应多用户系统。但在硬件、操作系统、数据库软件等方面投资大。就本系统使用规模而言存在一定的浪费。第二种是系统在公司现有机器和网络结构上开发运行。考虑到需投资省、开发时间短、维护方便等要求,本系统开发将采用此种方案。具体原因有以下几点。 资源有效性 硬件 公司现有IBM NETFINITY 5000服务器二台(其中一台为备机)。其配置为P4,内存512M,硬盘80G,并有20G的磁盘镜像。IBM PC8168工作站有10台,其配置为P4,内存128M,网络结构采用的是目前流行的TCP/IP局域网络。公司现有图书近8万册,使用部门2 个,因而目前的硬件设备性能完全满足系统投产要求。 软件 公司服务器操作系统为WIN NT SERVER,PC工作站操作系统为WIN 98。根据现有设备、操作系统、网络结构,本系统采用COBOL语言和ORACLE数据库作为开发工具。 开发人员 XX软件开发公司是国内一家知名公司。技术力量强,开发经验丰富。公司所派的技术人员参加过类似系统的开发,有着较好专业水平和开发经验。完全能胜任此项工作。 开发风险 从公司提出的需求,以及目前公司规模情况和各种资源情况(机器、操作系统、软件工具、网络、技术人员素质等)看,该系统开发在技术上是完全可以实现的。而且能保证系统最终的使用效果,性能可以达到目标。

软件工程概述课程作业

软件工程作业与解答 第一章软件工程概述 1.简述软件的发展过程。 答:计算机软件的发展经历了三个阶段:(1)程序设计阶段,约50至 60 年代;(2)程序系统阶段,约60至70年代;(3)软件工程阶段, 约70年代以后。各个时期软件开发的特点见课本第7页表1.3。 2.简述软件的定义及特点。 答:软件是计算机系统中与硬件相互依存的另一部份,它是包括程序、数据及其相关文档的完整集合。 特点见课本第1页至第3页。 3.简述软件的种类。 答:见课本第3页至第6页。 4.什么叫软件危机? 答:在软件发展的第二阶段,随着计算机硬件技术的进步,计算机的容量、速度和可靠性有了明显的提高,生产硬件的成本降低了。计算机价格的下跌为它的广泛应用创造了极好的条件。在这一形式下,要求软件能与之相适应。然而软件技术的进步一直未能满足形式发展提出的要求。 在软件开发中遇到的问题找不到解决的办法,致使问题积累起来,形成日益尖锐的矛盾。软件开发时期所面临的这种状态就是所谓的软件危机。 5.软件危机主要有哪几种表现? 答:见课本第8页(1)、(2)、(3)、(4)。

6.什么叫软件工程? 答:开发、运行、维护和修复软件的系统方法。 7.什么叫软件生存周期? 答:软件从孕育、诞生、成长、成熟到衰亡的过程叫软件生存周期。它 包括制定计划、需求分析、设计、程序编码、测试及运行维护。 8.简单介绍软件开发的瀑布型模型和螺线型模型。 答:见课本第11页至第14页。 第二章系统分析 1.简述系统分析的目标 (1) (2) (3) (4) (5) (6)识别用户要求; 评价系统的可行性; 进行经济分析和技术分析; 把功能分配给硬件、软件、人、数据库和其它系统元素; 建立成本和进度限制; 生成系统规格说明,形成所有后续工程的基础。 2.系统分析过程的第一步就是识别用户要求。要求的识别是系统开发的起点。为此,分析员必须回答哪些问题,才能完成这一步骤? (1) (2) (3) (4) (5) (6) (7) (8)所期望的功能和性能是什么可靠性和质量问题是哪些总的系统目标是什么成本与进度限制如何制造的需求是什么 市场与竞争情况怎样 有效的技术有哪些 将来可能有哪些扩充 3.软件项目的可行性研究主要集中在哪个方面? (1)经济可行性。(2)技术可行性。(3)法律可行性。(4)抉择。

软件工程课程设计

软件工程课程设计

题目:高校课表编排子系统 学院信息工程学院 专业计算机科学与技术 指导教师白娟 1 月 3 日

摘要 教学工作是高校的中心工作,而课表是高校日常教学活动运行的指挥调度表,是高校能否进行正常教学的关键,因此科学的,合理的课表在高校的重要性毋庸置疑。高校教务管理是一向复杂而繁重的工作,课表编排作为其中腰组成部分是长期困扰学校教务管理工作的大问题,计算机排课无疑是必然优势。课表编排是一个涉及多因素约束的,多目标的,结构复杂的典型的组合优化问题,而且已经被证明为一个NP完全类,是典型的组合优化的问题,其问题求解的时间复杂度呈指数函数增长。每个学校在排课表时考虑的因素千差万别,各种约束条件也不尽相同,可是它所涉及的主要实体却具有相对稳定性。 关键字:NP完全类; 约束满足;课表编排;课程设置;

目录 目录 (4) 第一章需求分析说明 (5) 1.1编写目的 (5) 1.2问题定义 (6) 1.3可行性分析 (6) 1.4任务描述 (7) 1.5目标 (7) 1.6运行环境 (7) 1.7功能需求 (7) 1.7.1功能描述 (7) 1.7.2排课约束 (8) 1.7.3操作规程 (8) 第二章概要设计说明 (10) 2.1数据描述与数据库设计 (10) 2.2数据表 (10) 2.2.1E-R图 (11) 2.2.2数据流图部分 (11) 2.3运行需求 (13) 2.3.1硬件 (13) 2.3.2软件 (13)

第三章详细设计说明 (14) 3.1模块的具体算法 (14) 3.1.1登陆模块 (14) 3.1.2管理员模块 (14) 数据库中各表的物理结构 (18) 第四章编码+测试 (20) 4.1登录模块 (20) 4.1.1 管理员模块 (22) 4.1.2教师模块 (26) 4.2测试方案设计 (30) 测试结果分析: (30) 第五章用户使用说明书 (31) 第六章实验总结 (34) 第七章参考文献 (37) 第一章需求分析说明 1.1编写目的 供设计人员、开发人员参考。 为明确软件需求、安排项目规划进度、组织软件开发与测试,撰写本文档。

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