当前位置:文档之家› 软件工程导论

软件工程导论

软件工程导论
软件工程导论

姓名:李卫东学号:201005070305 专业:软件工程

课题:学生成绩信息管理系统

1.可行性分析报告

1.1 编写目的

学生成绩信息管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大、不好管,尤其是随着学校规模的不断扩大,学生数量急剧增长,有关学生的各种信息也成倍增加。对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对国家负责。运用学生成绩信息管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率;通过学生成绩信息管理系统学生能够尽快地知道自己的考试成绩,并合理安排时间,投入新的课程的学习或复习这次没有考过的课程。从大的方向说,就是为了加速我国四化建设的发展,实现全部的自动化,使我国发展成为通讯网络化、决策科学化、办公自动化的国家。

1.2 项目背景

随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生选课的各种信息量也成倍增长,而目前许多高校的学生选课管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此,迫切需要开发基于互联网的体育课信息管理系统来提高管理工作的效率。基于互联网的学生选课管理系统,在学生选课的规范管理、科学统计和快速查询方面具有较大的实用意义。它提高了信息的开放性,大大地改善了学生、教师对其最新信息查询的准确性。

1.3 定义

课程设计系统组成及模块功能:学生成绩管理是教学管理中的一项重要内容,主要包括成绩的录入、显示、查询和统计四大模块。各主要模块的功能如下:

(用菜单实现选择)

(1)录入模块

通过键盘录入几门课程全班同学的成绩。

(2)显示模块

显示所有录入的成绩。

(3)计算模块

求出每门课的平均分,求出每个学生的平均成绩。

(4)查询模块

查询某个同学的所有成绩。

(5)统计模块

统计各个等级的人数及百分比

1.4 参考资料

3.术语定义及参考资料

1. (美) Grady Booch,James Rumbaugh,Ivar Jacobson,《UML用户指南》,机械工业出版社,2001年8月

2.Microsoft,MSDN

3.Microsoft, SQL Server2000联机手册

4.Roger S. Pressman。软件工程——实践者的研究方法。机械工业出版社,1997

5.IPL。Software Testing and Software Development Lifecycles。IPL,1996

6.Karl E. Wiegers《软件需求》机械工业出版社,1999

7.张海藩《软件工程导论》清华大学出版社

2.可行性研究的前提

2.1 要求

A功能:本系统应该实现学生成绩信息的管理与查询,具体包括学生信息查询,如姓名,五门课程平时成绩,成绩总评等;同时可以对以上信息进行修改,删除和添加。另外还要做到可以对学生成绩信息以及成绩信息查询和维护。

B性能:查询效率尽可能做到精准,信息维护功能做到简单易用,不需过多对人员的培训。C输入:对于查询功能,应做到可以单条件和组合条件输入;对于维护功能,要有输入、修改学生信息和成绩。

D输出:能按要求在显示器上显示所需内容并能打印成有条理的表格。

E安全与保密:对于不同权限用户,设置不同权限,对重要数据可以考虑加密存储。考虑到数据保存,条件允许的情况下可以让系统定时自动保存,省去手工保存的繁杂程序。

F本模块由系统主界面调入,实现学生成绩管理子功能。

G 完成期限:3个月

2.2 目标

a.人力与设备费用的节省;

b.处理速度的提高;

c.控制精度或生产能力的提高;

d.管理信息服务的改进;

e.决策系统的改进;

f.人员工作效率的提高,等等。】

2.3 条件、假定和限制

a 开发软件运行的最短寿命:4年

b进行系统方案选择比较的期限:三个月

c 经费来源:财务处使用限制:仅限本校管理员、老师和学生使用且只能在登陆账号密码后查看使用

d法律和政策方面的限制:本软件受法律保护,使用本软件须遵守国家相关软件管理条例

e本程序开发的硬件平台是INTEL 赛扬1.7G CPU、PC133 256M内存,操作系统为中文版Windows XP。系统开发完成后运行的硬件平台要求非常低,几乎所有能运行Windows XP、WindowsNT4.0、Windows2000、Windows 98系统的微机上都能正常使用本系统。这些操作系统都是现在较为常用的系统,本人所开发的软件能在这些平台上平稳运行,无疑增加了系统的可用性和实用性.

f可利用的信息和资源:____

g 建议开发软件投入使用的最迟时间:2年

2.4可行性研究方法

对学生和校领导采用问卷调查的方法,询问他们,以确定最佳的可行性研究方案。软件采用现代流行WINDOWS操作界面。是标准的WIN32应用程序,可运行在WIN95\WIN98\Win Me\WIN2000\WINXP\WINNT等系统平台上的多任务应用程序。在运行时可以直观的浏览、查询和掌握学生的成绩,同时能够了解学生的基本信息所在系部、班级、宿舍的具体地址。结束了人工统计的耗时长、工作量大、错误率高的缺点。

2.5决定可行性的主要因素

技术可行性、经济可行性、操作可行性。

3.对现有系统的分析

3.1处理流程和数据流程

3.2工作负荷

3.3费用支出

【如人力、设备、空间、支持性服务、材料等项开支。】

3.4人员

项目经理(1名)、软件工程师2~3名、程序员4~5名

3.5设备

本系统代码采用VC++ 6.0编写,后台数据库使用的SQLServer2000

3.6局限性

4.所建议技术可行性分析

本系统采用XML进行数据的管理、操作和维护,用Visual C#.NET进行前台设计、数据的录入、修改、删除、查询、浏览、统计等功能。由于XML强大的数据存储功能、方便快捷的验证功能、使用的灵活、良好的可扩展性、以及广泛实际应用,充分说明本系统在技术方面的可行性。

4.1对系统的简要描述

本系统是一个小型开发系统,使用Visual Basic 6.0作为系统开发工具。VB 6.0具有可视化集成开发环境,以事件驱动、图形用户界面等为特点, VB 6.0集成了强大的数据库开发引擎和OLE技术,在设计学生成绩管理系统方面有着独特的优越性。图书馆里也有很多关于使用VB开发学生成绩信息管理系统实例的图书。大学期间,我在学习多种程序设计语言的基础之上又学习了VB程序设计技术、SQL数据库技术以及软件工程课程,对数据库的设计、应用及软件开发有一定的认识,具备一定的动手实践能力;我经常使用学校的教务系统查询成绩等信息,并上网了解了不同学校的学生成绩信息管理系统的主要情况,对高校学生成绩信

4.2处理流程和数据流程

信息数据库

相关信息相关信息

成绩单成绩单

4.3与现有系统比较的优越性

本系统学生成绩管理系统主要提供方便高效的管理功能以及网上的信息查阅平台,学生可以查阅相关的成绩和基本信息,管理员可以管理所有信息。包括浏览所有用户信息以及相关的成绩信息,录入、修改、删除成绩和信息,但旧系统却不能。注册新用户功能,还包括统计学生人数、参加考试人数、缺考人数和计算平均成绩、不及格人数、优秀人数,比旧系统增加啦连接网站,验证等功能。

4.4采用建议系统可能带来的影响

运用学生成绩信息管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率;通过学生成绩信息管理系统学生能够尽快地知道自己的考试成绩,并合理安排时间,投入新的课程的学习或复习这次没有考过的课程。

4.5对现有软件的影响

4.2.3对用户的影响

学生成绩管理系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。比较系统地对教务、教学上的各项服务和信息进行管理,使数据管理更现代化、自动化、智能化、人性化。同时,减轻了学院教务人员管理的工作量,缩小开支,提高工作效率和准确率,使其变得更具有条理性,科学性,为教育行业做出了巨大的贡献。

4.2.4对系统运行的影响

在现已开发设计的学生成绩信息管理系统中,有些系统仍需较多的人工干预及用户操作,有些系统的人机界面不是很好,有些系统则出现了各个独立的子系统能够较好地运行,而子系统之间却不能很好地“协同”工作,数据共享性差的情况。另外,各个子系统之间在界面风格上也相差甚远。这样,给软件系统的应用带来了很大的不便

4.2.5对开发环境的影响

VB 6.0提供友好的界面,操作简单,能使非计算机专业人员很快熟悉系统的使用。

4.2.6对运行环境的影响

客户端: Windows95/98/2000/XP,Internet Explorer(IE)等

服务器端:Windows 2003/Windows2000,Internet Information Server

(IIS)6.0及其以上版本,IE等;或者Windows98,Personal Web

Server(PWS),IE等。

数据库:采用SQL Server 2000,运行于服务器端。

硬件环境:

服务器端:处理器:Intel PentiumIII 以上

内存:推荐512或更高

客户机:处理器:Intel PentiumIII 以上

内存:256M以上推荐512

协议:TCP/IP

浏览器:Internet Explore 6.0

4.2.7对经费支出的影响

4.5技术可行性评价

本系统的开发利用Microsoft SQL Server2000作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。

使用Visual https://www.doczj.com/doc/4c14774197.html,作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。

综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。

5.所建议系统经济可行性分析

现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:

第一,本系统的运行可以代替人工进行许多繁杂的劳动;

第二,本系统的运行可以节省许多资源;

第三,本系统的运行可以大大的提高学校的工作效率;

第四,本系统可以使敏感文档更加安全,等等。所以,本系统在经济上是可行的。5.1支出

就目前使用的开发技术来说建议系统的功能目标应该能够达到;利用现有的技术在规定的期限内开发工作基本能够完成。基本支出为50万

5.1.1基建投资

a.房屋和设施25万

b.环境保护设备室内中央空调 2.2万

c.安全与保密设备: 防盗门窗灭火器0.5万

d.数据库管理软件: Microsoft SQL Sever 2万

5.1.2其他一次性支出

a.研究(需求的研究和设计的研究)费用: 5.6万

b.数据库的建立: 1.2万

c.检查费用和技术管理性费用: 1万

d.培训费用.旅差费用开发人员所需要的一次性支出5000元

5.1.3经常性支出

a.设备的维护费用:1000元

b.软件的维护费用: 100元

c.人员的工资,奖金: 基本工资2000元奖金0-500

d.房屋空间的使用开支: 电费500元

e.公共设施方面的开支: 100元

f.保密安全方面的开支: 网络杀毒软件:100

g.其他经常性的支出: 100元

5.2效益

5.2.1一次性收益

a.开支缩减,运行效益30000 元

b.应用系统价值的增值而引起的收益: 50000元

c.其他如多余设备出售回收的收入5000元

5.2.2经常性收益

由于使用该学生信息管理系统,由自己学校学生自己开发的,所造成开支的减少和避免有2000元/月。

5.2.3不可定量收益

5.3收益/投资比

a:收益,b:投资

a/b

5.4投资回收周期

预计四个月开发完毕,两个月后回收成本开始赢利。

5.5敏感性分析

【敏感性分析是指一些关键性因素,如:系统生存周期长短、系统工作负荷量、处理速度要求、设备和软件配置变化对支出和效益的影响等的分析。】

6.社会因素可行性分析

6.1法律因素

1.严禁违反宪法确定的基本原则,

2.严禁危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一.

3.严禁损害国家荣誉和利益

4.严禁传播发布会妨害第三方权益的文件或者信息,包括但不限于:病毒代码,黑客程

序,软件破解注册信息.

5.严禁抄袭剽窃他人作品

6. 版权所有,严禁抄袭

6.2用户使用可行性

从用户单位学校的行政管理、工作制度等方面来看,能够使用该软件系统。从用户单位的工作人员的素质来看,需要经过培训才能满足使用该软件系统的要求等等,都是要

考虑的。

7.其他可供选择的方案

【逐个阐明其他可供选择的方案,并重点说明未被推荐的理由。】

8.结论意见

【结论意见可能是:

a.可着手组织开发;

b.需待若干条件(如资金、人力、设备等)具备后才能开发;

c.需对开发目标进行某些修改;

d.不能进行或不必进行(如技术不成熟,经济上不合算等);

e.其他。】

2.需求分析报告

附录B 软件需求规格说明书内容

1 引言

1.1 编写目的。

学生成绩信息管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大、不好管,尤其是随着学校规模的不断扩大,学生数量急剧增长,有关学生的各种信息也成倍增加。

对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对国家负责。运用学生成绩信息管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率;通过学生成绩信息管理系统学生能够尽快地知道自己的考试成绩,并合理安排时间,投入新的课程的学习或复习这次没有考过的课程。从大的方向说,就是为了加速我国四化建设的发展,实现全部的自动化,使我国发展成为通讯网络化、决策科学化、办公自动化的国家。

1.2 背景

高校学生成绩管理是教学管理中的一项重要工作,每个学期都要进行,成绩管理是一项工作量大、时间性强、易于出错且具有一定保密性的业务。特别是随着高校的不断扩招,进入高校的大学生越来越多,高校学生成绩管理工作量将大幅度增加,如果全由手工完成,耗时巨大,效率却很低。在信息时代的今天,数据库技术在数据处理方面的应用已经非常广泛,作为高校教育工作一部分的学生成绩信息管理更应赶上时代的步伐。因此,开发一套适合学校专业设置的计算机化成绩信息管理系统,不仅可以提高学校的管理效率,而且可以使我们的教学管理水平更上一层楼

1.3 术语定义

课程设计系统组成及模块功能:学生成绩管理是教学管理中的一项重要内容,主要包括成绩的录入、显示、查询和统计四大模块。各主要模块的功能如下:

(用菜单实现选择)

(1)录入模块

通过键盘录入几门课程全班同学的成绩。

(2)显示模块

显示所有录入的成绩。

(3)计算模块

求出每门课的平均分,求出每个学生的平均成绩。

(4)查询模块

查询某个同学的所有成绩。

(5)统计模块

统计各个等级的人数及百分比

1.4 参考资料

1. (美) Grady Booch,James Rumbaugh,Ivar Jacobson,《UML用户指南》,机械工业出版社,2001年8月

2.Microsoft,MSDN

3.Microsoft, SQL Server2000联机手册

4.Roger S. Pressman。软件工程——实践者的研究方法。机械工业出版社,1997

5.IPL。Software Testing and Software Development Lifecycles。IPL,1996

6.Karl E. Wiegers《软件需求》机械工业出版社,1999

2 目标系统概述

2.1 目标

本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:

1.系统应具有实用性、可靠性和适用性,同时注意到先进性。

2.对各个数据库进行动态管理,防止混乱。

3.能够按照用户选择的不同的条件进行简单查询和复合查询。

4.能够对查询结果进行分类汇总,实现报表打印。

5.注意数据的安全性,具有数据备份和恢复的功能。

6.方便用户的操作,尽量减少用户的操作

2.2 用户简介

本系统用户角色主要有两类:系统管理员与普通用户。其中系统管理员可进行用户管理。普通用户可分为学生,老师,教务处等用户。

系统管理员:可进行用户管理,组权限分配,信息查询等工作。

教师:可进行学生信息管理,课程信息管理,成绩管理,授课信息管理,信息查询,成绩统计等工作。

学生:可进行成绩查询等操作

2.3 组织结构与职责

2.4 业务流程

学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。

新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。

在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任及对此年级安排一个年级组长。并对各科老师进行安排。

每举行一次考试后由任课老师对成绩进行录入。班主任对本班的成绩汇总。并进行排名,然后年级组长再进行汇总,并对本年级各科成绩及总成绩进行排名。

教务处、年级组长、班主任及任课老师跟据实际情况对录入的成绩进行维护,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询

2.5 单据、账本、报表

3 需求规定

3.1对功能的规定

用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。

课程管理:用于对各学期课程的开设和修改。

成绩管理:用于对成绩的输入、修改、汇总及排名。

学生信息管理:添加,删除,修改学生信息等。

授课信息管理: 对授课教师,课程号,学时数,班级等信息的添加,维护等。

学生信息查询: 对学生成绩等信息的查询,查询方式为模糊,且具有多条件组合查询功能。学生成绩统计: 统计本科的总分,平均分等信息。

本系统性能力求易于使用,具体有较高的扩展性和可维护性

3.1.1功能需求

1.采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。

2.系统就满足学校的需求,例如学生信息的录入、查询、更新等。学生录入与排名。3.系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作

3.1.2 功能需求点列表

系统管理员

功能模块管理

组权限管理

记录添加,删除,修改

教师功能结构图:

记录添加,删除,修改

学生成绩统计

老师

课程信息管理

学生成绩管理

授课信息管理

学生信息查询

学生功能结构图:

学生

成绩查询

3.2 数据流图、数据字典 / 类、对象模型、对象-关系模型、对象-行为模型几个主要功能的数据流图

教师录入学生成绩登录数据流图

图3-2-1教师录入学生成绩登录数据流图

查询信息数据流图

图3-2-2 查询信息数据流图

表3-2-3 学生数据字典

表3-2-4 管理员数据字典

表3-2-5 教师数据字典

表3-2-6

课程数据字典

表3-2-7 成绩数据字典

对象—关系模型 对象-行为模型

3.3对性能的规定 3.3.1精度

学生成绩:输出,输入数据的精度应该在小数点后两位,为浮点型 学生学号、班级、课程等应该为整型数

3.3.2时间特性要求

a .响应时间:三秒以内,若未响应就直接退出。

b .更新处理时间:刷新过后两秒内。

c .数据的转换和传送时间:一秒内完成。

d .解题时间:不超过三秒。

3.3.3灵活性 运行的变化:

本系统能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。大节省了学校能源。并且计算机的存储与快速查询功能大大提高了学籍管理的效率,

并且还提高了学籍信息管理的精确度。

操作方式的变化:

方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。为学校增加了财富。 其它变化:

用户需求具体有学籍管理系统提供保存、更新、查询、维护和打印,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。

3.4输人输出要求

一个完整的输入输出的信息管理系统不仅要有快速、方便准确地系统输入功能,而且还应该有一个实用、方便、完善的系统输出功能。系统的输入输出要求是系统设计的的重要内容之一,它的根本任务是任何保证将数据正确、方便地输入的到计算机系统中去。所以,保证输入数据的正确很重要。另外,在保证正确地向系统输入输出所需数据的前提下,应尽量保持输入输出操作的方便,应尽量减少数据输入输出的内容、减少数据输入输出的工作量。以下就是输入输出的基本要求:

一、输入设计的要求

1.输入界面直观、亲切。 2.有利于快速输入。 3. 有利于准确输入。 4.有利于输入、修改。 5.方便操作。

二、输出设计的要求

1.输出格式要求应于用户认真协商,征得用户的同意并可能满足使用人员的要求

2.输出要求应简单、直观,一目了然,尽量符合用户的习惯,便于用户阅读、理解与使用。

3.输出内容应尽量汉字化,从而使输出格式醒目。

4.各种输出设计要长考虑以利于系统发展和输出项目扩充、变动的需要。

5.输出操作方便

3.5数据管理能力要求

系统数据库中包含以下5个表:admin,teacher,student,course,grade等。

(学生信息表)student:用于保存学生的学号,姓名,性别,出生年月,所在院系,入学时间,家庭住址,政治面貌,密码等信息.

(系统管理员表)admin:用于保存系统管理员用户的用户名,密码备注等信息

(成绩信息表)grade:用于保存学生成绩信息,包括学号,课程号,分数,任课教师编号,日期等字段.

(教师信息表)teacher:用于保存教师的教师编号,姓名,性别,出生年月,所在院系,职称,学历,政治面貌,密码等信息.

(课程信息表)course:用户保存课程信息,包括课程名,课程号,学分,备注等信息.

3.6故障处理要求

当本软件出现故障自动死机时,系统会自动保存你的文件,保证你下次的使用;当着软件受到外部侵入时,系统会自动隔离文件信息;如出现用户不能解决的问题,请联系工作人员。

3.7其他专门要求

对用户个人信息绝对保密。

4运行环境规定

4.1设备

1.以Windows98 以上/ME/2000/XP作为学生选课管理系统的后台操作系统

2.主要硬件设备:PC机一台

3.处理器型号:奔四以上:内存及外存容量无太高要求。

4.联机:支持多媒体及大部分存储格式。

4.2支持软件

支持输入软件,数据库程序。

4.3 接口

与其他软件一样采用ADANS接口。

前台开发程序为JAVA,SQL Server 2000。

4.4控制

5 目标系统的其它需求

a 安全性:本系统安全可靠,保证信息的隐私性。

b 可靠性:强大的数据库支持它的可靠性。

3.设计分析报告

附录C 设计说明书内容

1 引言

1.1编写目的

学生成绩信息管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大、不好管,尤其是随着学校规模的不断扩大,学生数量急剧增长,有关学生的各种信息也成倍增加。对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对国家负责。运用学生成绩信息管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率;通过学生成绩信息管理系统学生能够尽快地知道自己的考试成绩,并合理安排时间,投入新的课程的学习或复习这次没有考过的课程。从大的方向说,就是为了加速我国四化建设的发展,实现全部的自动化,使我国发展成为通讯网络化、决策科学化、办公自动化的国家。

1.2背景

随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生选课的各种信息量也成倍增长,而目前许多高校的学生选课管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此,迫切需要开发基于互联网的体育课信息管理系统来提高管理工作的效率。基于互联网的学生选课管理系统,在学生选课的规范管理、科学统计和快速查询方面具有较大的实用意义。它提高了信息的开放性,大大地改善了学生、教师对其最新信息查询的准确性。

1.3定义

课程设计系统组成及模块功能:学生成绩管理是教学管理中的一项重要内容,主要包括成绩的录入、显示、查询和统计四大模块。各主要模块的功能如下:

(用菜单实现选择)

(1)录入模块

通过键盘录入几门课程全班同学的成绩。

(2)显示模块

显示所有录入的成绩。

(3)计算模块

求出每门课的平均分,求出每个学生的平均成绩。

(4)查询模块

查询某个同学的所有成绩。

(5)统计模块

统计各个等级的人数及百分比

1.4参考资料

1. (美) Grady Booch,James Rumbaugh,Ivar Jacobson,《UML用户指南》,机械工业出版社,2001年8月。

2.Microsoft,MSDN

3.Microsoft, SQL Server2000联机手册

4.Roger S. Pressman。软件工程——实践者的研究方法。机械工业出版社,1997

5.IPL。Software Testing and Software Development Lifecycles。IPL,1996

6.Karl E. Wiegers《软件需求》机械工业出版社,1999

2 总体设计

2.1需求规定

通过对本校教务管理系统的使用及调查情况,我了解到高校学生成绩信息管理系统应具备的基本功能及各种类型的用户登陆系统后所具有的操作权限,决定设计一个满足基本功能要求的高校学生成绩信息管理系统,使用本系统对学生的成绩信息进行合理管理。针对前面的分析与构想,为实现系统基本功能需求,本系统的开发大概目标如下:(1)只有管理员(教务科)可以进行学期、学院、专业、班级、课程等方面设置,进行课程安排、教师安排、教师信息、学生信息等方面管理,从而保证信息的准确性与安全性;

(2)学生某门课程的成绩只能由教此门课程的教师进行录入和修改,从而保证学生成绩信息的准确性与安全性;

(3)按学期、专业、班级、课程导出学生成绩清单,每学期给各科教师打印补考学生名单、重修学生名单,从而减轻学院教学人员的工作量,加快查询速度,提高高校管理学生成绩信息的效率;

(4)系统的界面友好,在操作上简单易行,易学易用,便于维护。

(5)系统内部数据应采用定长格式,以提高系统的运行效率;

(6)具有较高的安全性,运行采用全Windows界面,有很好的容错能力;

(7)系统工作模式为单机多用户模式。

2.2运行环境

VB 6.0提供友好的界面,操作简单,能使非计算机专业人员很快熟悉系统的使用。

客户端: Windows95/98/2000/XP,Internet Explorer(IE)等

服务器端:Windows 2003/Windows2000,Internet Information Server

(IIS)6.0及其以上版本,IE等;或者Windows98,Personal Web

Server(PWS),IE等。

数据库:采用SQL Server 2000,运行于服务器端。

硬件环境:

服务器端:处理器:Intel PentiumIII 以上

内存:推荐512或更高

客户机:处理器:Intel PentiumIII 以上

内存:256M以上推荐512

协议:TCP/IP

浏览器:Internet Explore 6.0

2.3基本设计概念和处理流程

基本设计概念:

成绩管理信息系统的业务总体目标是建立一个先进、高效、安全、可靠的能被有效和应用于学生成绩管理的信息化数据库管理系统。该系统基于B/S结构,即采用浏览器/服务器模式,服务器端由运行https://www.doczj.com/doc/4c14774197.html,的Web应用程序及运行Microsoft SQL Server2000的数据库服务器组成,客户端可以Internet Explorer,FireFox访问系统。本信息系统体现了学生成绩管理的业务逻辑行为、大大简化了相关工作的烦琐流程,同时为管理层提供有力的决策支持。系统总业务处理流程图:

图3-2系统总业务流程图

图3-3系统登录业务流程图

2.4结构

各系统元素:

软件工程导论课后习题大题

习题2-2 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统。如果是存款,系统记录存款人姓名、住址、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并打印出存款单给储户。如果是取款,并且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印出利息清单给储户。 功能级数据流图: 对象模型:

习题2-3 为方便旅客,某航空公司拟开发一个机票预订系统。旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。 数据流图: 习题2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请写出数据流图。 医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏,体温,血压,心电图等),定时记录病人情况以形成患者日志。当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息。此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。

习题3-6 复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。 状态转换图: 查询事务 患者日志 警告 信息 生理 信号 生理 信号 危急病人信息 病人 1 接收信号 2 分析信号 3 产生警告信息 护士 日期 时间 时钟 4 定时取样生理信号 定时的 生理信号 5 更新日志 6 产生病情报告 生理 信号 安全范围 患者日志 患者日志 病情报告 生理信号 日期时间 查询事务 接收信号 分析信号 产生警告信息 定时取样 更新日志 产生病情报告 生理信号 危急病人信息 警告信息 定时的生理信号 患者日志 病情报告

软件工程导论(整理版)

SA——结构化分析方法 可行性研究:可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程; 技术可行性:对待开发的系统进行功能、性能和限制条件的分析,确定在现有的资源条件下,技术风险有多大,系统能否实现; 经济可行性:这个系统的经济效益能超过它的开发成本吗? 社会可行性:实用性怎样 5. 耦合性:耦合是指一个模块与其它模块之间的联系,又称为块间联系,是模块之间相对独立性的度量; 6. 内聚性:内聚是指模块内部各个成分之间的关系,又称为块内联系,是模块功能相对强度的度量; 7. 模块的控制范围:一个模块的控制范围是指该模块本身及其所属的(直接或间接调用的)所有模块的集合; 8. 模块的作用范围:受该模块内一个判定影响的所有模块的集合;9. 软件结构:软件结构图; 10.模块:在软件中,通常把用一个名字就可以调用的一段程序称为模块; 1. 编码:所谓编码就是把软件设计结果翻译成用某种程序设计语言书写的程序; 2. 程序设计风格:所谓程序设计风格是指书写源程序的习惯、程序代码的逻辑结构与习惯的编程技术。从软件工程要求出发,程序设计风格应包括以下要素:①源程序文档化②数据说明③语句构造④输入输出 ●白盒测试技术:逻辑覆盖和基本路径覆盖 ●黑盒测试技术:等价类划分、边界测试、错误推测、因果图 ●软件测试步骤:单元测试、集成测试和确认测试 1. 校正性维护:满足用户对已开发产品的性能与运行环境不断提高的要求,进而达到延长软件寿命的目的; 2.适应性维护:对程序使用期间发现的程序错误进行诊断和改正的过程,配合变化了的环境进行修改软件的活动; 3. 完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能的建议而进行的工作; 4. 预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。

《软件工程导论》教学大纲

软件工程教学大纲 课程名称:软件工程 开课学期:第5学期 学时/学分:48 / 3 课程类型:专业必修课 开课专业:游戏开发 选用教材: 《软件工程导论》(第四版),张海藩编著,清华大学出版社; 主要参考书: 《实用软件工程》(第二版),郑人杰、殷人昆、陶永雷编著,清华大学出版社; 《软件工程:实践者的研究方法》(原书第五版),Roger S. Pressman,机械工业出版社; 《软件工程》(原书第六版),Ian Sommerville,机械工业出版社; 《面向对象与传统软件工程》(原书第五版),Stephen R. Schach,机械工业出版社。 《面向对象的软件工程》,B.Bruegge,A.H.Dutoit著,清华大学出版社 一、课程性质、目的与任务 软件工程是研究软件开发维护和软件管理的一门工程科学,本课程是计算机科学与技术专业指导性教学计划规定的教学环节中的一部分,教学目的旨在介绍软件工程的基本原理和主要内容,为学生进一步深入学习与软件工程相关的其他课程如:软件需求过程、软件分析与设计和软件项目管理、软件过程管理等打下坚实的理论基础。同时启发学生把握软件开发过程的基本规律,掌握和运用软件分析、设计的常用方法、软件开发过程的管理方法以及质量保证方法等,来解决软件开发中的实际问题,达到学以致用的目的。 二、教学基本要求 本门课程是软件工程导论性质的课程,所以它比较全面而概括地介绍了与软件开发、管理和维护相关的各阶段的工作。学生通过这门课程的学习,能够掌握软件工程的基本含义、它的主要作用、软件开发的过

程、软件开发各个阶段的主要目的和可能采用的一些技术手段和方法,并理解软件项目管理的主要思想。课程完成后,学生能够应用软件工程的思想指导软件开发实践,并能够比较容易地进行软件工程其他相关后续课程的深入学习。 要求教师在教学中采用启发式教学和因材施教,并至少给出一些章节的启发式教学内容的设计。 制作电子教学课件,运用课件进行教学。 三、考核方式: 总成绩分为两个部分:平时成绩(占40% )和期末卷面成绩(占60%),期末考试采用开卷。

软件工程导论期末考试题

一、单项选择题 1.适合于面向对象方法学的软件生存周期模型是( B ) A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 2.从实用角度看,数据规范化程度在大多数场合选用第( C )范式。 A. 1 B.2 C.3 D.5 3. 可行性分析研究的目的是( A )。 A.项目值得开发否 B.争取项目 C.开发项目 D.规划项目 4. 模块的内聚性最高的是 ( D ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 ( B ) A. 软件工程 B. 软件危机 C. 软件周期 D. 软件产生 6. 需求分析阶段的任务是确定( D ) A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 7. 完整的软件结构通常用( B )图来表示。 A. IPO 图 B. HIPO 图 C.PAD 图 D.DFD 图 8. 在白盒法技术测试用例的设计中( A )是最弱的覆盖标准。 A.语句 B.路径 C.条件组合 D.判定 9?对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 10. 在数据流图中,圆代表( C )。 A.源点 B.终点 C.加工 D.模块 11. 模块内聚度越高,说明模块内各成分彼此结合的程度越( B )。 A.松散 B.紧密 C.无法判断 D.相等 12. 软件测试方法中,黑盒、白盒测试法是常用的方法,其中黑盒测试主要用于测试( B )。 A.结构合理性 B.软件外部功能 C.程序正确性 D.程序内部逻辑 13. 面向对象开发方法中, ( C )是占主导地位的标准建模语言。 A.Booch 方法 B.Coad 方法 C.UML 语言 D.OMT 方法 14. 软件需求分析的主要任务是准确地定义出要开发的软件系统是( C ) A.如何做 B.怎么做 C.做什么 D.对谁做 15. 结构化程序设计的一种基本方法是( C ) A.筛选法 B.迭代法 C.逐步求精法 D.递归法 二、填空题 1. 目前使用最广泛的软件工 程学方法分别是传统方法学和(面向对象方法学 ) )和事务流。 文档 ) 。 ( 重复 )三种结构。 自顶向下 的集成测试方法,对软件结构中下层使 6. 软件维护包括 ( 改正性维护 )、适应性维护、完善性维护、预防性维护。 7. 面向对象方法学建模得到的三个基本子模型是 (对象建模 ) .动态模型、功能模型。 8. 复杂大型问题的对象模型通常由主题 2. 数据流图中信息流的类型有(变换流 3. 软件的定义是:软件 =程序+数据+ 4. 经典结构程序设计包括顺序、选择和 5. 集成测试时对软件结构中上层使用 用 ( 自底向上 ) 的集成测试方法。

软件工程导论(第五版)课后习题测验答案

《软件工程导论》课后习题答案 第一章软件工程概论 1-1 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。 (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.软件危机有那些典型表现? (1)对软件开发成本和进度的估计常常很不准确。 (2) 用户对“已完成的”软件系统不满意的现象经常发生。 (3)软件产品的质量往往靠不住。 (4)软件常常是不可维护的。 (5)软件通常没有适当的文档资料。 (6) 软件成本在计算机系统总成本中所占的比例逐年上升。 (7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 3.为什么会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 4.怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 1-3、

软件工程导论论文(精)

软件工程一.关于软件工程软件是计算机系统中程序.数据和相关文档的集合,一种逻辑产品。软件工程是一门研究工程化方法构建和维护有效的.实用的和高质量的软件的学科。软件工程是一门比较年轻的学科,追溯其出现的时期我们可以回到二十世纪中期。那个时候出现了软件危机。上个世纪五十年代计算机刚从军用转到民用,编写程序的工作被视为艺术家的创作。由于当时计算机受价格因素的限制未能普及,人们对这一新生的披着神秘面纱的产品并不了解。再加上编程人员追求的是如何在有限的处理器能力和储存空间约束下编写出执行速度快.体积小的程序,使程序中充满了各种各样让人迷惑的技巧,这时的软件的开发生产就非常依赖开发人员的聪明才智。但是得到了六十年代,由于计算机生产硬件的突破使计算机的应用范围得到较大的扩展对软件系统的需求和软件自身复杂性急剧上升,传统开发方法不能满足对软件的需要,出现了软件危机。为解决这个问题,1986年“软件工程”在NATO会议上被首次提出,就是把软件开发从“艺术”和“个体行为”向“工程”和“群体协同工作”转化。从此一门新的学科便诞生了。软件的发展又分为几个阶段:先是程序设计再到程序系统,再是软件工程,到现在是面向对象软件工程。因为一种软件往往比较庞大,需要一个或多个团体才能完成,所以以一种工程化的方法不仅能够提高软件的质量也能提高开发效率。软件工程是研究和应用如何以系统性的.规范化的.可定量的过程化方法去开发维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。其目标是在给定成本.给定进度的前提下开发软件。开发出的软件应具有可修改性.有效性.可靠性.可维护性.可适应性.可移植性.可追踪性.可重用性.可理解性.可互操作性。其中可修改性事实容许对系统进行修改而不增加原系统的复杂性。有效性是软件系统能最有效的利用计算机的时间资源和空间资源。软件工程包括技术和管理两方面。由方法.工具.和过程三部分。软件开发方法就是完成软件开发的各项任务的技术方法,软件开发工具是为了方法运用提供支撑。软件工程的过程包括定义.开发.运行维护。定义包括可行性研究.需求分析两个步骤。可行性研究就是根据已有的技术手段结合要开发软所可能运用的技术来判断开发的可行度。需求分析就是要通过客户了解软件所应具备的功能。这一阶段是软件开发前的准备阶段,是很重要的一个阶段。

软件工程导论》期末考试试题与答案

《软件工程导论》期末考试-试题与答案 一、填空题 1.软件工程中的结构化分析 SA 是一种面向________的分析方法。 2.软件模块独立性的两个定性度量标准是_________________。 3.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个________的过程。 4. ________和数据字典共同构成了系统的逻辑模型 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. Jackson 方法是在软件开发过程中常用的方法,使用 Jackson 方法时可以实现______。A.从数据结构导出程序结构B.从数据流图导出初始结构图C.从模块结构导出数据结构D.从模块结构导出程序结构 7.软件测试时为了________而执行程序的过程。A.纠正 错误B.发现错误 C.避免错误 D.证明错误 8.在软件系统中,一个模块应具有什么样的功能,这是由_____决定的。A.总体 设计B.需求分析C.详细设计D.程序设计 9.面向对象分析是对系统进行_________的一种方法。A.需求 分析B.程序设计C.设计评审D.测试验收 10.软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而 且影响软件的_______。A.可理解 性B.可维护性C.可扩展性D.可 移植

软件工程导论课后题

1-5、根据历史数据可以做出如下的假设: 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=0.3×0.72Y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.048×0.72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。 基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算: (1) 在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少? (2) 假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。(3) 假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。

2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。 医院对患者8监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。 从问题陈述可知,本系统数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。 从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。 系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。 此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。 为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存储。

软件工程导论试题(1)

软件工程导论试题 一.选择 1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C)。 A、详细计划 B、可行性分析 C、运行阶段 D、测试与排错 2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C )。 A、详细设计阶段 B、概要设计阶段 C、需求分析阶段 D、测试和运行阶段 3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A )。 A、需求分析阶段 B、详细设计阶段 C、概要设计阶段 D、可行性研究阶段 4、软件工程的出现主要是由于(C )。 A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展 5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C ) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B) A、相互排斥 B、相互补充 C、独立使用 D、交替使用 7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C ) A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法 D、基于数据的数据流开发方法 8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B ) A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法

《软件工程导论》课程设计说明书

《软件工程.课程设计》 医药公司进销存 管理信息系统 专业:计算机科学与技术 指导教师:欧阳浩 班级:计071 班 学号:200700401006 姓名:苏建 完成时间:2010年7月7日 广西工学院计算机工程系

1.需求收集、描述 (3) 1.1 发掘业务过程(活动图) (3) 1.2 领域分析(确定候选类) (4) 1.3 确定系统完全需求(生成包图和高层用例图) (5) 2. 系统USE CASE模型……………………………………………………………,,,..6 2.1 分析(按照需求设计用例) (6) 2.2 角色定义…………………………………………………………………… ..6 2.3 USE CASE工作描述 (7) 2.4 USE CASE视图 (7) 3. 系统逻辑结构设计 (8) 3.1进货系统(描述涉及概念、映射对象、涉及角色) (8) 3.1.1事件流过程(操作描述映射成为方法的表示格式为类和方法 (8) 3.1.2 Sequence Diagram(顺序图) (8) 3.1.3 Collaboration Diagram(协作图或通信图) (9) 3.2销售系统(SaleSystem) (9) 3.2.1事件流过程 (9) 3.2.2 Sequence Diagram (10) 3.2.3 Collaboration Diagram (10) 3.3库存系统(V alueManager) (10) 3.3.1事件流过程 (11) 3.3.2 Sequence Diagram (11) 3.3.3 Collaboration Diagram (12) 3.4系统整体类的组织结构 (12) 4.程序框架 (13) 4.1详细类图(系统静态结构,应该包含类的详细关系) (13) 4.2生成程序框架(参照自己设计的4.1) (14) 4.2.1 类1 (14) 4.2.2 类2 (14) 4.2.3 类3 (15) 4.2.4 类4 (15) 4.2.4 类5 (16) 5.个人总结(自己在使用软件工程建模工具进行系统分析、设计的心得体会) (16) 6.参考文献 (18) 一、需求收集、描述 1发掘业务过程(可用活动图描述)

软件工程导论-期末题库(完整版)

1.填空题 1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。 2.IPO图是_输入、处理和输出图_的简称,它是美国IBM公司发展完善起来的一种图形工具。 3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的_____信息流动_____情况。 4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。 5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集成测试)、__确认测试__和_____系统测试(集成测试)____ 6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。 7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。 8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。 10.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。 12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。 13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。 14.软件工程三要素包括_方法_、__工具___和__过程___,其中, _过程_支持软件开发的各个环节的控制和管理。 15.类构件的重用方式有_实力重用__、__继承重用______和_ 多态重用__三种。16.能力成熟度模型分为5个等级:初始级、____可重复____级、__已定义___级、____已管理__级和__优化____级。 2.判断题 1. 向滞后的项目中增加人手会使得项目更加滞后。(T)

软件工程导论第六版课后习题答案

第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是 整体构架的错误。 三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。 软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经常变化的,开发过程中必须考虑软件将来可能的变化 (4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具 (5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径: (1) 对计算机软件有一个正确的认识(软件≠程序) (2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3) 推广使用在实践中总结出来的开发软件的成功技术和方法 (4) 开发和使用更好的软件工具 四、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。

软件工程导论复习重点总结很全(第六版)(精)

第1章软件工程学概述 1.1 软件危机 1.1.1 软件危机的介绍 软件危机(软件萧条、软件困扰:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件危机包含下述两方面的问题: 如何开发软件,满足对软件日益增长的需求; 如何维护数量不断膨胀的已有软件。 软件危机的典型表现: (1对软件开发成本和进度的估计常常很不准确; (2用户对“已完成的”软件系统不满意的现象经常发生; (3软件产品的质量往往靠不住; (4软件常常是不可维护的; (5软件通常没有适当的文档资料; (6软件成本在计算机系统总成本中所占的比例逐年上升; (7软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 1.1.2 产生软件危机的原因 (1与软件本身的特点有关 (2与软件开发与维护的方法不正确有关

1.1.3 消除软件危机的途径 对计算机软件有正确的认识。 认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功技术和方法,并继续研究探索。 应该开发和使用更好的软件工具。 总之,为了解决软件危机,既要有技术措施(方法和工具,又要有必要的组织管理措施。 1.2 1.2.1 软件工程的介绍 软件工程:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。(期中考 软件工程的本质特性: 软件工程关注于大型程序的构造 软件工程的中心课题是控制复杂性 软件经常变化 开发软件的效率非常重要 和谐地合作是开发软件的关键 软件必须有效地支持它的用户

软件工程导论期末考试简答题

简答题 1、什么是软件工程?它目标和内容是什么? 软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程内容:包括开发技术和开发管理两个方面。 2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发? 软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。 其中喷泉模型、统一软件过程适用于面向对象的软件开发。 3、什么是结构分析方法?该方法使用什么描述工具? 结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。 4、什么是软件概要设计?该阶段的基本任务是什么? 把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。 基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审 5、软件维护有哪些内容? (1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。 (2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。 (3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。 (4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。 6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系? 软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。 单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。 集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。 系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。 7、什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。 8、衡量模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合。内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。 耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。 9、什么是结构分析方法?结构化分析方法通过哪些步骤来实现? 结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。实现的步骤:⑴了解当前系统的工作流程,获得当前系统的物理模型。⑵抽象出当前系统的逻辑模型。⑶建立目标系统的逻辑模型。⑷作进一步补充和优化。

软件工程导论第1-2套试题及答案要点

软件工程A卷 一、判断题:每小题1分,共15分,在正确的打上√,错误的打上× 1.软件工程学只有理论意义,没有实际用途。() 2.软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。() 3.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。() 4.代码审查方法没有计算机测试方法好。() 5.验证软件需求的方法主要靠人工审查的方法。() 6.并发系统中遇到的一个主要问题是定时问题。() 7.编码风格由个人喜好决定,没有固定格式。() 8.面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换。() 9.软件重用是提高软件开发生产率和目标系统质量的重要途径。() 10.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。() 11.Power Designer是一个CASE工具。() 12.软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就是编写程序代码。()13.在进行需求分析时需同时考虑维护问题。() 14.UML是一种面向对象的分析设计方法,即OOA/OOD方法。() 15.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。() 二、单选题:每题1分,共15分 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、有完整的故障处理 E、算法的合理性 6、软件可行性研究一般不考虑() A、是否有足够的人员和相关的技术来支持系统开发 B、是否有足够的工具和相关的技术来支持系统开发 C、待开发软件是否有市场、经济上是否合算 D、待开发的软件是否会有质量问题 7、SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用()来描述 A、流程图 B、判定表 C、NS图 D、问题分析图PAD

软件工程导论课程教学大纲

《软件工程导论》课程教学大纲 一、课程性质、地位和作用 《软件工程导论》是是软件工程专业的专业基础课程,属必修课。 本课程主要讲述建造软件系统的基本方法、技术、流程、工具及规范等。通过学习可以使学生了解软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的基本内容和发展动向;学习用工程化的方法开发软件项目,初步掌握开发过程中应遵循的流程、准则、标准和规范。本门课程为将来从事软件开发学生的软件工程师之路奠定坚实的基础。 二、课程教学对象、目的和要求 本课程适用于软件工程、计算机应用等从事软件开发的本科专业。课程教学目的、要求: (一)从教学内容上,应使学生了解软件工程的基本概念,主要包括软件与软件开发的基本过程,软件危机与软件工程。掌握个人软件开发过程的基本内容和方法,了解软件开发模型及结构化软件设计方法,以及软件质量保证基本内容。(二)从能力方面,应使学生通过对软件工程基本概念和方法的学习和课后练习,培养学生养成规范化个人开发的良好习惯,培养学生按照软件工程的基本过程和方法来设计和开发软件。 (三)从教学方法上,在课堂理论教学中,采用学生可以理解的软件开发素材,通过一边实践一边讲解的方法,讲解软件过程的基本思想和方法,通过学生完成与实践结合的作业,调动学生的积极性,使软件工程的基本思想逐步植根于学生头脑中。 三、相关课程及关系 本课程的先修课程是“C语言程序设计”和“数据结构”等程序设计课程,学习应在学生具有一定的编程能力基础上进行。本课程为后续的“软件制造工程”和“软件设计工程”等课程打下了必要的理论基础。 四、课程内容及学时分配 总学时:32学时 (一)绪论1学时 1、软件工程及其重要性 2、软件开发需要软件工程 3、软件工程课程体系架构(需要什么软件工程) 、课堂的组织、学习方法、章节安排与考核4. 要求学生了解软件工程的起源,软件工程在软件开发中的作用,了解软件工程课程体系。 (二)软件与软件工程4学时 1、软件及软件分类 2、软件工程的由来及概念 3、软件生命周期 4、软件开发与软件开发方法 5、软件工程工具和环境 6、软件开发项目管理介绍

软件工程导论期末试题A(带答案)

评阅教师得分四川大学期末考试试题(闭卷)(2014~2015学年第1学期) 课程号: 311078040 课程名称:软件工程导论(A卷)任课教师:洪玫,刘东权,李旭伟等 适用专业年级:软件工程 2013级学号:姓名: 2. 请将答案全部填写在本试题纸上; 3. 考试结束,请将试题纸、添卷纸和草稿纸一并交给监考老师。 ????????????????????????????? 一、单项选择题(本大题共20小题,每小题1分,共20分) 提示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在 下表中。错选、多选或未选均无分。 1. Software is the collection of ( ). (A) Programs (B) Data (C) Documents (D) All of above 2.Which of the items listed below is not one of the software engineering layers? ( ) (A) Process (B) Methods (C) Tools (D) Manufacturing 3.The prototyping model of software development is ( ). (A) A reasonable approach when requirements are well defined. (B) The best approach to use for projects with large development teams. 注:试题字迹务必清晰,书写工整。本题共11页,本页为第1页

《软件工程导论第五版》张海潘pdf版(第五版清华大学出版社课后答案)

第一章 z 软件工程方法学(3个要素) :通常把软件生命周期全过程中使用的一整套技术方法的集合称为方法学, 也称范型。三要素:方法、工具和过程。 z 软件生命周期模型 – 瀑布模型:优点:1.可强迫开发员采用规范的方法2.严格地规定了每个阶段必须提交的文件3.要求每 个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 – 缺点:传统的瀑布模型过于理想化,是由文档驱动的。 – 快速原型模型:通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反 馈意见的方法,获取用户真正的需要。 – 增量模型:优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用 户有较充实的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。 – 螺旋模型:优点:对可选方案和约束条件的强调有利于已有软件的重用;减少了过多测试;维护只 是螺旋模型中另一个周期。 1-1 什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 1-2 什么是软件工程? 是指导计算机软件开发和维护的一门工程学科。 1-3 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 目前使用得最广泛的软件工程方法学(2种): 1. 传统方法学:也称为生命周期方法学或结构化范型。 优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作; 促进了软件重用。 1-4 软件生命周期划分成哪些阶段 z 软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。 1. 软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析 2. 开发时期:总体设计、详细设计、编码和单元测试、综合测试。 3. 维护时期:主要任务是使软件持久地满足用户的需要。 1-5 什么是软件过程?它与软件工程方法学有何关系? z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤 z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型 1-6 传统“瀑布模型”的主要缺陷是什么?试说明改进的方法。 传统的瀑布模型过于理想化了。增加“反馈环” 第二章 z 可行性研究的目的:就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 z 可行性研究的任务:1.进一步分析和澄清问题;2.导出系统的逻辑模型;3.从逻辑模型出发,提出若干种系统 实现方案4.研究每种实现方案的可行性: z 技术上的可行性 ——使用现有的技术能实现这个系统吗? z 经济上的可行性 ——这个系统的经济效益能超过它的开发成本吗? (投资与效益) z 操作可行性 ——系统的操作方式在这个用户组织内行得通吗? z 社会、政策允许的可行性 5.为每个可行的解决方案制定一个粗略的实现进度 6.对以后的行动方针提出建议 方法:1.系统流程图 2.数据流图:(DFD ) 符号 数据流 第 1 页https://www.doczj.com/doc/4c14774197.html,

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