搜档网
当前位置:搜档网 › 软件工程

软件工程

软件工程
软件工程

离线考核

《软件工程》

满分100分

一、简答题(每小题8分,共40分。)

1.什么是计算机软件?

计算机软件是指计算机程序及其有关文档。计算机程序是指能实现一定功能的代码化指令序列,或者符号化语句序列。文档指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法的文字资料和图表,如程序设计说明书、流程图、用户手册等。

2.需求分析的任务是什么?

软件bai需求包括 3 个不同的层次:业务需求、用户需求和功能需求。

除此zhi之外,每个系统还有各种非功能需求。

业务需求(Business requirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。

使用前景和范围( vision and scope )文档来记录业务需求,这份文档有时也被称作项目轮廓图或市场需求( project charter 或 market requirement )文档。

用户需求(user requirement)描述的是用户的目标,或用户要求系统必须能完成的任务。用例、场景描述和事件――响应表都是表达用户需求的有效途径。也就是说用户需求描述了用户能使用系统来做些什么。

功能需求(functional requirement)规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。

功能需求有时也被称作行为需求( behavioral requirement ),因为习惯上总是用“应该”对其进行描述:“系统应该发送电子邮件来通知用户已接受其预定”。功能需求描述是开发人员需要实现什么。系统需求(system requirement)用于描述包含多个子系统的产品(即系统)的顶级需求。系统可以只包含软件系统,也可以既包含软件又包含硬件子系统。人也可以是系统的一部分,因此某些系统功能可能要由人来承担。

业务规则包括企业方针、政府条例、工业标准、会计准则和计算方法等。业务规划本身并非软件需求,因为它们不属于任何特定软件系统的范围。

然而,业务规则常常会限制谁能够执行某些特定用例,或者规定系统为符合相关规则必须实现某些特定功能。有时,功能中特定的质量属性(通过功能实现)也源于业务规则。所以,对某些功能需求进行追溯时,会发现其来源正是一条特定的业务规则。

功能需求记录在软件需求说明书( SRS )中。 SRS 完整地描述了软件系统的预期特性。 SRS 我们一般把它当作文档,其实, SRS 还可以是包含需求信息的数据库或电子表格;或者是存储在商业需求管理工具中的信息;而对于小型项目,甚至可能是一叠索引卡片。开发、测试、质量保证、项目管理和其他相关的项目功能都要用到 SRS 。

除了功能需求外, SRS 中还包含非功能需求,包括性能指标和对质量属性的描述。

质量属性(quality attribute)对产品的功能描述作了补充,它从不同方面描述了产品的各种特性。这些特性包括可用性、可移植性、完整性、效率和健壮性,它们对用户或开发人员都很重要。其他的非功能需求包括系统与外部世界的外部界面,以及对设计与实现的约束。

约束(constraint)限制了开发人员设计和构建系统时的选择范围。

行业需求:企业在招聘软件测试人员时主要看中应聘者的项目经验、逻辑思维能力、一定的技术能力和综合素质,而对学历、年龄、性别、工作经验等的要求较低,相对于IT行业其他职位而言,软件测试的入行更加容易。

3.如何对软件项目进行成本管理?

1、决策成本:它主要是企业管理当局作决策时需要考虑的成本。企业在进行生产经营活动、投资活动、融资活动时,都需要对不同的方案进行比较、选择,然后从中选出可行的或者最优的方案来具体实施。

2、控制成本:企业的各方案确定以后,就需要各部门、各单位分工协作,相互配合来完成方案确定的任务。为了达到这个目标,管理当局需要制定各种预算指标和标准成本,通过对这些预算指标和标准成本的分解与落实,把各部门和各项任务都纳入预算体系,促使各部门提高工作效率。同时,将各部门工人物实际完成情况与预算指标、标准成本进行比较,可以发现存在的问题,并及时进行纠正,保证目标的实现。在控制阶段,会计人员不仅要参与预算指标和标准成本的制定,更要利用其掌握的成本信息优势,对生产经营活动进行全过程控制。管理会计所应用的控制成本,其核心是预算成本和标准成本。

3、责任成本:企业各种活动的结果既要通过其所取得的收入来反映,也要通过其所花费的成本来考核。为了有效评价各管理层的经营业绩,需要对发生的各项费用进行考核。按照“谁负责,谁承担责任”的原则来考核,其考核的依据就是各管理层的责任成本。因为只有依据各自能够控制的成本进行的评价才是恰当的,所以,责任成本的核心是可控成本。

软件项目也一样,如果一个项目的项目管理者不懂的控制项目成本,是企业的一种灾难。下面谈谈我对软件项目中成本的看法:

1、决策成本:主要体现在项目需求边界的鉴定,如果一个项目一直在做一些无边界、含糊不清的需求,会导致大量人力、时间一直会陷入在同一需求走不出去,增加项目的实际成本。需求决策,是需要项目管理者在项目开发之前一定多研究、深思,目前的开发的需求的优先级(很高、此高、一般、无

所谓),合理、低成本的进行工作的安排。

2、时间成本:每个产品的竞争力首先必须要体现在时间上,否则市场会被其他对手先得,你去替换一个产品那是非常难的一件事。所以在软件项目方面最好有条件进行分批进行,也有助于研发团队的业务的提升,来大大的提升项目的时间成本。否则,会顾此失彼,陷入项目困境,研发团队疲倦(信心下降),时间成本增加。

3、人员成本:每个企业的人员不易多,一切需要合理,否则会导致研发人员业务分散,系统关联不会紧密。在国内的软件公司,人员技术配置一般会趋于1:3:2比例型,即一个技术牛人(技术总监,技术强,负责技术培训、钻研),三个高中级工程师(主要侧重核心业务开发,需要多些软件相关业务经验),两个中初级工程师(侧重功能实现,需要技术实现经验),但一些外资企业则不一样,区别主要在与外资企业有成熟的需求团队,但国内的民企一般是需求研发不分开。如果上边太大导致技术太偏(1、技术不是软件的灵魂,好多厉害的公司还利用很落后的技术;2、客户也不会关注使用什么技术)。

4.程序设计语言有哪些特点?

程序设计语言有三个特性,他们是:心理特性、工程特性和技术特性。

1、心理特性:是指影响程序员心理的语言性能,包括歧义性,简洁性,局部性和顺序性,传统性几个方面。歧义性:是指某些语言虽然在编译程序中只有一种解释,但在人们看来却可能产生两种或多种不同的解释。

简洁性:是指人们必须记住的语言成分的数量。局部性和顺序性:局部性指语言的联想性,模块的高内聚低耦合使局部性得以加强,提供异常处理的语言特性则削弱局部性。顺序性强则使人们易理解,易接受。传统性:由于人们使用语言有一种习惯性。若新语种的传统性强,则人们学习起来容易接受。

反之则需要更多时间来学习。可见传统性容易影响人们学习新语种的积极性。

2、工程特性:从软件工程的观点,程序设计语言的特性着重考虑软件开发项目的需要,因此对程序编码有如下要求:可移植性、开发工具的可利用性、软件的可重用性及可维护性。可移植性:是指程序从一个计算机环境移植到另一个计算机环境的容易程度。

开发工具的可利用性:就是说一个开发工具好不好用,功能多不多,强不强。比如vc++就是一个开发工具。软件的可重用性:指编程语言能否提供可重用的软件成分,重用时需要修改调整的内容多不多。可维护性:一个易读懂,易修改的软件就是可维护性好的软件。

3、技术特性。

5. 快速原型技术的基本思路是什么?

原型法是在系统开发周期,凭借系统开发人员对用户需求的了解和系统主要功能的要求,在强有力的软件环境支持下,迅速构造出系统的初始原型,然后与用户一起不断对原型进行修改、完善,直到满足用

户需求

二、理论应用题(每小题10分,共20分。)

1. 根据下列N—S图,写出其对应的伪码。

Strat

a

b

Do Until x6

If xl then

f

If x4 then

Do Until x5

i

End Until

Else

g

h

End if

Else

Selcet Case x2

Case1:

Do While x3

c

End While

Case 2:

d

Case 3:

e

End Select

End if

End U

2.可将软件生存周期划分为哪3个过程和哪9个阶段。

(1)3个过程是:软件定义过程,软件开发过程,软件使用与维护过程.

(2)9个阶段有:可行性研究,需求分析,概要设计,详细设计,实现,组装测试,验收测试,使用与维护,退役.

三、实践应用题(每小题20分,共40分。)

1.画出与下图所示的程序流程图对应的程序图,并试计算其巡回秩数V(G)。

如图:

V(G)=E -N +2=13-10+2=5

2.用Jackson图描述下述的一列火车的构成:

一列火车最多有两个火车头。只有一个火车头时则位于列车最前面,若还有第二个火车头时,则第二个火车头位于最车最后面。火车头既可能是内燃机车也可能是电气机车。车厢分为硬座车厢、硬卧车厢和软卧车厢等3种。硬座车厢在所有车厢的前面部分,软卧车厢在所有车厢的后面部分。此

外,在硬卧车厢和软卧车厢之间还有一节餐车。

软件工程常用术语四

database数据库? (1) 根据为一个或多个应用程序提供服务的方案存储的相关数据(带有冗余控制)的集合。(2) 存储在系统中的所有数据文件。(3) 存储在一起并由数据库管理系统管理的数据集。 database management system (DBMS)数据库管理系统? 通过为有效访问、完整性、恢复、并行控制、隐私和安全性提供集中控制、数据独立和复杂物理结构等服务来管理数据的计算机程序。 datatype数据类型? 缺乏标识并且操作不带有副作用的一组值的描述符。数据类型包括初始预定义类型和用户可定义类型。预定义类型包括数字、字符串和时间。用户可定义类型可包括各种枚举。 DBA? 数据库管理员 DBCS? 双字节字符集 DBMS? 数据库管理系统 DCE? 分布式计算环境 DCOM? 分布式对象模型 (Microsoft) deadlock死锁? 两个独立控制线程彼此阻塞,相互等待对方采取操作,这种状态称为死锁。死锁常常是由于添加了避免竞争状态的同步机制而引起的。 decision rule决策规则?

指一组人员同意就某一议题给出集体决策的规则或技术,例如多数票决、一致通过、自发协议等。 defect缺陷? 缺陷是已交付产品中的异常情况或瑕疵。缺陷可以是在生命周期的初期发现的遗漏和缺点,也可以是已准备测试或运行的较成熟软件中存在的故障征兆。缺陷可以是您要跟踪并解决的任何种类的问题。另请参见变更请求。 defect checklist缺陷检查表? 某类指定的工件中常见缺陷的列表。 defect density缺陷密度? 每一个单位数量(每页代码或每千行代码)的被评审工作产品中所发现的缺陷的数量。 defect log缺陷日志? 见"问题日志"。 defining model定义模型? 储存库所基于的模型。任意数量的存储库都可以具有相同的定义模型。 delegation委托? 作为对于一个消息的响应,一个对象可以向另一对象发出消息的能力。委托可用作继承的备选方案。对比:(继承 inheritance)。 deliverable可交付工件? 过程中生成的、要交付给客户或其他涉众的具有值、材料或其他信息的输出。 de-marshal串行化? 为使对象可编写为字节流而对对象进行的解构。是串行化 (flatten) 和串行化(serialize) 的同义词。 demilitarized zone (DMZ)隔离带?

人事管理系统项目详细设计说明书

目录 1. 概述 1.1.目的 本文为教学案例项目SQLServer功能规范说明书。本说明书将: ●描述数据库设计的目的 ●说明数据库设计中的主要组成部分 ●说明数据库设计中涵盖的教学知识要点 1.2.内容 本文档主要内容包括对数据库设计结构的总体描述,对数据库中各种对象的描述(包括对象的名称、对象的属性、对象和其他对象的直接关系)。本文档中包含对以下数据库内容的描述: ●数据表 ●视图 ●存储过程 ●用户自定义函数 ●触发器 ●约束 在数据库主要对象之外,本文还将描述数据库安全性设置、数据库属性设置和数据库备份策略,为数据库管理员维护数据库安全稳定地运行提供参考。

1.3.与其他项目的关联 教学案例项目的数据库设计与教学项目(Web部分和Windows部分)功能密切相关。教学案例项目的数据库将按照教学项目程序部分的功能需求而设计,数据库设计将配合教学案例的程序部分,以实现一个功能完备的企业环境内的应用。 2. 数据库 2.1.数据库名称 数据库的名称一定要设为RGB,否则本案例设计的Web部分的应用程序和Windows 部分的应用程序将无法使用该数据库。 答案:USE[master] GO /******Object:Database[RGB]ScriptDate:06/18/201108:55:58******/ CREATEDATABASE[RGB]ONPRIMARY (NAME=N'RGB',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLSERVE R\MSSQL\DATA\RGB.mdf',SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB) LOG ON (NAME=N'RGB_log',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLS ERVER\MSSQL\DATA\RGB_log.ldf',SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=10%) GO ALTERDATABASE[RGB]SETCOMPATIBILITY_LEVEL=100 GO IF(1=FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) begin EXEC[RGB].[dbo].[sp_fulltext_database]@action='enable' end GO ALTERDATABASE[RGB]SETANSI_NULL_DEFAULTOFF GO ALTERDATABASE[RGB]SETANSI_NULLSOFF GO ALTERDATABASE[RGB]SETANSI_PADDINGOFF GO ALTERDATABASE[RGB]SETANSI_WARNINGSOFF

软件工程师职业分析

软件工程师职业分析 首先什么是软件工程师?软件工程师主要进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位。这些岗位的分工不同,职位和/或级别不同,但工作内容都是与软件开发生产相关的。 软件工程师是IT行业需求量最大的职位,稳居IT行业职位需求TOP10的第一位(第二位是高级软件工程师)。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)、.NET平台技术、C#、C/S B/S程序开发,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUTS等前沿技术。 除此之外,关于网络工程和软件测试的其他技术也要有所涉猎,以利于操控全局。软件工程师可谓是软件项目开发的掌舵者。一名优秀的软件工程师应当具有较强的逻辑思维能力,对于技术的发展有敏锐的嗅觉。虽然要求技术全面,但无须偏执于门门技术都精通,任何软件工程师都有自己的技术特长和偏向,对于自己手中的技术,可有精通-掌握-熟悉-了解之分,根据工作需要和职业发展的具体情况来划分。 从最新的数据看出目前软件行业成为目前最热的行业之一,3G工程师、嵌入式工程师、Java软件工程师、. net软件工程师的开发前景怎么样,成为我们即将毕业的大学生们最关心的问题,下面笔者就从这四个方面分析软件开发工程师的就业前景,参考来源《2013-NIIT软件行业分析》; 3G工程师就业前景分析:中国被世界公认为全球最大的3G移动市场,但是,3G相关的人才却严重失调。专业从事3G应用软件开发从业人员不足千人,据工信部预测,仅2010年,中国3G人才市场缺口就在100万以上,其中3G软件工程师缺口就在50万左右。 3G人才短缺现状,使得3G行业已经成为新的高薪行业,基于3G软件开发人员变得格外抢手。人力资源专家表示,3G软件开发是未来几年最热门和最受

人事管理系统项目详细设计说明书

目录 1.概述 1.1.目的 本文为教学案例项目SQLServer功能规范说明书。本说明书将: 描述数据库设计的目的 说明数据库设计中的主要组成部分 说明数据库设计中涵盖的教学知识要点 1.2.内容 本文档主要内容包括对数据库设计结构的总体描述,对数据库中各种对象的描述(包括对象的名称、对象的属性、对象和其他对象的直接关系)。本文档中包含对以下数据库内容的描述: 数据表 视图 存储过程 用户自定义函数 触发器 约束 在数据库主要对象之外,本文还将描述数据库安全性设置、数据库属性设置和数据库备份策略,为数据库管理员维护数据库安全稳定地运行提供参考。

1.3.与其他项目的关联 教学案例项目的数据库设计与教学项目(Web部分和Windows部分)功能密切相关。教学案例项目的数据库将按照教学项目程序部分的功能需求而设计,数据库设计将配合教学案例的程序部分,以实现一个功能完备的企业环境内的应用。 2.数据库 2.1.数据库名称 数据库的名称一定要设为RGB,否则本案例设计的Web部分的应用程序和Windows 部分的应用程序将无法使用该数据库。 答案:USE[master] GO /******Object:Database[RGB]ScriptDate:06/18/201108:55:58******/ CREATEDATABASE[RGB]ONPRIMARY (NAME=N'RGB',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\\MSSQL\DATA\',SIZE=3072KB,MAXSIZE= UNLIMITED,FILEGROWTH=1024KB) LOG ON (NAME=N'RGB_log',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\\MSSQL\DATA\',SIZE=1024KB,MAXS IZE=2048GB,FILEGROWTH=10%) GO ALTERDATABASE[RGB]SETCOMPATIBILITY_LEVEL=100 GO IF(1=FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) begin EXEC[RGB].[dbo].[sp_fulltext_database]@action='enable' end GO ALTERDATABASE[RGB]SETANSI_NULL_DEFAULTOFF GO ALTERDATABASE[RGB]SETANSI_NULLSOFF GO ALTERDATABASE[RGB]SETANSI_PADDINGOFF GO ALTERDATABASE[RGB]SETANSI_WARNINGSOFF

全国软件工程专业大学排名(10篇).doc

全国软件工程专业大学排名(10篇) 全国软件工程专业大学排名(10篇) 全国软件工程专业大学排名(10篇) 想要报考软件工程专业的考生肯定非常关注软件工程专业开设的大学排名,本文带你一起了解关于全国软件工程大学排名的相关知识,希望通过本文读者可以了解软件工程全国大学排名情况。 一、软件工程专业具体介绍 软件工程专业是2002年国家教育部新增专业,随着计算机应用领域的不断扩大及中国经济建设的不断发展,软件工程专业将成为一个新的热门专业。软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌握从事软件需求分析、软件设计、软件测试、软件维护和软件项目管理等工作所必需的基础知识、基本方法和基本技能,突出对学生专业知识和专业技能的培养,培养能够从事软件开发、测试、维护和软件项目管理的高级专门人才。 二、软件工程专业大学排名榜前十 1、清华大学 清华大学诞生于1911年,简称“清华”,由中华人民共和国教育部直属,中央直管副部级建制,位列“211工程”、“985工程”、””,

入选“珠峰计划”、“2011计划”、“卓越工程师教育培养计划”、“卓越法律人才教育培养计划”、“卓越医生教育培养计划”,为九校联盟、东亚研究型大学协会、环太平洋大学联盟、亚洲大学联盟、清华大学—剑桥大学—麻省理工学院低碳能源大学联盟成员。2、东北大学 东北大学,简称东大,中华人民共和国教育部直属的理工类研究型大学,坐落于东北中心城市沈阳,是国家“211工程”和“985工程”重点建设高校,由教育部、辽宁省、沈阳市三方重点共建,先后入选“2011计划”、“111计划”、”卓越工程师教育培养计划”、“国家大学生创新性实验计划”等,为“21世纪学术联盟”成员高校,是中共中央1960年、1978年确定的全国重点大学,国务院在1981年批准的具有博士学位授予权的高校。 3、南京大学 南京大学,简称“南大”,是教育部直属、中央直管副部级建制的全国重点大学,国家首批“211工程”、“985工程”高校,首批“珠峰计划”、“111计划”、“2011计划”、“卓越计划”实施高校,也是九校联盟、中国大学校长联谊会、环太平洋大学联盟、21世纪学术联盟和东亚研究型大学协会成员。 4、北京航空航天大学 北京航空航天大学简称北航,成立于1952年,由中华人民共和国工业和信息化部直属,中央直管副部级建制,位列“211工程”、“985工程”,入选“珠峰计划”、“2011计划”、“111计划”、“卓越工程师教育培养计划”,为国际宇航联合会、“中欧精英大学联

河南大学计算机与信息工程学院2010C#程序设计大赛试题

C#程序设计大赛试题 1. 字符串处理问题(10分) 问题描述:从键盘接收一个字符串(不多于80个字符),将其中的数字字符按原顺序组成一个新字符串,将其中的英文字母都用大写按原顺序组成另一个新字符串,然后再输出这两个新字符串,每个一行。如果原字符串中没有数字字符或没有英文字母,则输出"There are not digits."或"There are not letters." 。当接收的字符串为”**”时程序结束。 样例输入: a@B1C3D$5ef&gh 样例输出: 135 ABCDEFGH 样例输入: abcd%eG#h 样例输出: There are not digits ABCDEGH 2.矩阵转换问题(15分) 问题描述:行与列的个数均为n 的矩阵称为n 阶方阵。假定矩阵中的每个元素的值在0到9之间,则可以将矩阵中的所有元素按行依次排列得到一个“单行矩阵字符串”。例如,3*3的3阶方阵 4 3 5 2 4 5 0 1 9 可以描述为"435245019"。 你的任务是从键盘接收“单行矩阵字符串”并将其以矩阵样式输出,若判断行数与列的个数不一样,即非n阶方阵,则输出“Error” 样例输入: 435245019 样例输出: 4 3 5 2 4 5 0 1 9 样例输入: 9 样例输出: 9 样例输入: 0123456789

样例输出: Error 3.数字图形问题(15分) 问题描述:从键盘接收一个自然数N(1≤N≤9),当输入的自然数N不属于此范围时退出程序。对于N(1≤N≤9),在屏幕上输出如下图形,并且保证N在图形中只出现一次,且在图形的中心。 当N=1时:当N=3时:当N=4时: 1111111111111 122211222221 123211233321 122211234321 111111233321 1222221 1111111 4.数字排列问题(20分) 问题描述:对于给定的正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出。例如当n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。 任务描述:给出某个排列,求出这个排列的下k个排列,如果遇到最后一个排列,则下1个排列为第1个排列,即排列1 2 3…n。 比如:n = 3,k=2 给出排列2 3 1,则它的下1个排列为3 1 2,下2个排列为3 2 1,因此答案为3 2 1。 输入:第一行是一个正整数m,表示测试数据的个数,下面是m组测试数据,每组测试数据第一行是2个正整数n( 1 <= n < 1024 )和k(1<=k<=64),第二行有n 个正整数,是1,2 …n的一个排列。 输出:对于每组输入数据,输出一行,n个数,中间用空格隔开,表示输入排列的下k个排列。 样例输入: 2 3 1 2 3 1 3 1 3 2 1 样例输出: 3 1 2 1 2 3 5.水果计数问题(20分) 问题描述:水果店老板认为,只要两种水果的名字中有一个字相同就属于同样的类别。例如“小雪梨”和“大雪梨”是同一种水果,而“核桃”和“水蜜桃”也被认为是同一种水果。尤其要指出的是,如果有三种水果x, y, z同时出现,且x和y是同一种水果,y和z也是同一种水果的时候,x和z在此时也被认为是同一种水果

软件工程课后习题答案

第一章 1.1举出至少5个例子来说明“意外效应法则”在计算机软件方面的应用。 答:典型的例子包括使用“数字汽车仪表板”的软件,赋予高科技,高品质的图像的软件;如广泛的消费类电子产品的软件;个人电脑,工业仪器仪表和机器的软件。软件分化出的在电子商务方面的应用。 1.2举例说明软件对社会的影响(包括正面影响和负面影响)。 答:这是一个很好的课堂讨论问题(如果时间允许),而不是专注于老生常谈的(但很重要)隐私问题,生活质量等问题。您可能想要讨论关于”技术恐惧“方面的问题,软件也许会使它恶化但也可能减少”技术恐惧“。另一个有趣的方面是使用诺依曼的“风险”列在中做重点讨论。你也可以考虑基于软件的“现金”经济,新模式的互动娱乐,虚拟现实,电子商务等方面来思考软件对社会的影响。 1.3针对1.1节提出的5个问题,请给出你的答案,并与同学讨论。 答:软件需要如此长的开发时间: a)设施不上线 b)开发工具并不如预期般运作 c)客户提出的新要求,需要重新设计和返工 d)产品依赖于政府的规定,被意外更改。 e)严格的要求,与现有系统的兼容性需要超过预期更多的测试,设计和实现。 f)多个操作系统下运行的任务需求比预期需要更长的时间。 g)软件项目风险管理比预期需要更多的时间。 h)依赖的技术仍处于开发阶段,从而延长日程安排。 开发成本高: a)比当时预期低得令人无法接受的质量,需要进行更多的测试,设计和实施工作。 b)制定了错误的软件功能需要重新设计和实施。 c)开发错误的用户界面,而导致重新设计和实施。 d)开发了不需要的额外的软件功能而延长了开发日程安排。 在将软件交付顾客使用之前,我们无法找到所有错误: a)产品依赖于政府监管,意外而改变。 b)产品技术标准草案,会意外更改。 c)有时会在项目后期添加新的开发人员。 d)因为团队内的冲突有时会导致沟通不畅,而产生糟糕的设计。 e)破坏高效调度产生的项目管理成果和无效的规划 f)有时装备部件质量差,导致额外的测试,设计和集成工作和管理额外的客户关系。 软件开发和维护的过程仍旧难以度量: a)有时该项目的目的是不明确。 b)有大量的业务所涉及的风险。 c)如果产品内置没有装好。 d)我们需要不断检讨我们的工作。 e)进行维护检查的时间。 f)在整个软件开发过程中要彻底组织项目团队。 1.4在交付最终用户之前,或者首个版本投入使用之后,许多应用程序都会有频繁的变更。

企业人事管理系统详细设计说明方案

精心整理企业人事管理系统 详细设计说明书 文档作者谭聪 学号 一. 1.1 阶段中, 1.2背景 1.3 主键:数据库表中的关键域。值互不相同。 外部主键:数据库表中与其他表主键关联的域。 ROLLBACK:数据库的错误恢复机制。 1.4参考资料 1.人事管理系统项目计划任务书,XXX公司 2.人事管理系统项目开发计划,软件开发小组 3.用户操作手册(初稿),软件开发小组 4.软件工程及其应用,周苏、王文等,天津科学技术出版社 5.软件工程,张海藩,清华大学出版社 二.系统结构 模块结构由各个成员分别完成 身份认证模块及人员信息统计模块见《身份认证及人员信息统计模块》分页 人员信息维护模块见《人员信息维护模块》分页

人员信息查询模块见《人员信息查询模块》分页 工资信息维护模块见《工资信息维护模块》分页 工资信息查询模块见《工资信息查询模块》分页 三.身份认证模块 3.1软件结构 模块的界面参见概要设计文档 身份认证模块: 3.2 1. Check()过程: 对登陆的用户名及密码进行检验,如果通过验证则返回turu,进入系统主菜单,否则返回faulse,调用错误处理程序。 Callmenu()过程: 被check()过程调用,列出系统主菜单,并调用系统功能模块。

系统菜单: 2.性能 3 4 5 已经在软件结构中进行描述。四.统计模块 4.1软件结构

4.2 1 2.性能 统计模块对所有的或者选中类型的数据进行统计,在精度方面必须满足统计要求,精确到小数点后3位。 3.输入项目 统计模块要求用户选择统计方法,采用单选框的方式输入。 4.输出项目 统计模块输出统计结果,并列出被统计的条目,所有列出的条目及统计信息均为不可编辑项。 5.程序逻辑 已经在软件结构中进行描述。 五.人员基本信息查询模块

软件工程专业介绍范文

软件工程专业介绍范文 软件工程学的定义 软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义: Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。IEEE:软件工程是开发、运行、维护和修复软件的系统方法。FritzBauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 编辑本段软件工程学的内容 软件工程学的主要内容是软件开发技术和软件工程管理。软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。 专业简介 是计算机领域发展最快的学科分支之一,国家非常重视软件行业的发展,对软件人才的培养给予了非常优惠的政策。本专业培养掌握计算机软件基本理论知识,熟悉软件开发和管理技术、能够在计算机软件领域中从事软件设计、开发和管理的高级人才。

主修课程 该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。 毕业去向 除考取国内外名牌大学研究生外,主要毕业去向是计算机软件专业公司﹑信息咨询公司﹑以及金融等其它独资、合资企业。 培养目标 本专业培养适应社会发展需求,德、智、体、美全面发展,具有扎实的计算机应用理论和知识基础,掌握软件工程领域的前沿技术和软件开发方法,具有较强的实践能力和创新精神,具备较强的软件项目的系统分析、设计、开发和测试能力,能够按照工程化的原则和方法从事软件项目开发和管理的应用型人才。 就业方向

事业单位人事管理系统详细设计

石河子大学信息技术学院 数据库系统课程设计 某单位人事管理系统的数据库信息 姓名:曾晨2010508013 李沁梅2010508063 老师:于宝华 专业:计算机科学与技术 学院:信息科学与技术学院 页脚内容1

完成日期:2013-1-17 目录 一、........................................................................... 人事管理信息系统概述5 1.1、项目简介 (5) 1.2、项目背景及现状分析 (5) 二、.............................................................................................. 可行性分析6 三、.................................................................................................. 需求分析7 3.1、系统的性能要求 (7) 3.2、总体需求 (7) 3.3、数据流分析 (7) 四、.................................................................................................. 系统规划9 4.1、系统的功能模块划分 (9) 4.2.、系统功能 (10) 五、.............................................................................................. 数据库设计11 5.1、系统E-R图 (11) 页脚内容2

软件工程就业前景

软件工程就业前景

我国软件出口规模达到215亿元软件从业人员达到72万人在中国十大it职场人气职位中软件工程师位列第一位,软件工程人才的就业前景十分乐观. 软件工程是计算机领域发展最快的学科分支之一,国家非常重视软件行业的发展,对软件工程师人才的培养给予了非常优惠的政策.在中国十大IT职场人气职位中,软件工程师位列第一位,软件工程人员的就业前景十分乐观.以下就是软件工程就业前景介绍;软件工程就业前景时间:2011-6-30 来源:中国药业人才网点击量:2919 编辑:末末我国软件出口规模达到215亿元,软件从业人员达到72万人,在中国十大it职场人气职位中,软件工程师位列第一位,软件工程人才的就业前景十分乐观. 软件工程是计算机领域发展最快的学科分支之一,国家非常重视软件行业的发展,对软件工程师人才的培养给予了非常优惠的政策.在中国十大IT职场人气职位中,软件工程师位列第一位,软件工程人员的就业前景十分乐观.以下就是软件工程就业前景介绍. 一、软件工程专业就业前景之可视化编程 掌握程序设计方法及可视化技术,精通一种可视

化平台及其软件开发技术.获取delphi程序员系列、java初级或vb开发能手认证. 二、软件工程专业就业前景数据库管理 能应用关系范式进行数据库设计,精通sql语言,胜任数据库服务器管理与应用工作.获取oracle数据库管理或sql server数据库应用或windows 三、 软件工程专业就业前景计算机办公应用精通办公自动化应用与管理,熟悉服务器的安装、管理和维护,基于应用服务器的相关服务和软件系统,具备对服务器的网络安全设置、邮件、网页发布、ftp、oa、bbs等系统的应用和维护能力. 就业方向:企业、政府、社区、各类学校等系统管理 三、软件工程专业就业前景之软件工程专业大学排名 1、南京大学 2、清华大学 3、复旦大学 4、武汉大学 5、浙江大学 6、上海交通大学7 、中国科学技术大学8、中山大学9、华中科技大学10、哈尔滨工业大学11、陕西师范大学12、吉林大学13、东北师范大学14、北京师范大学

大学软件工程专业排名

大学软件工程专业排名 权威排名: 2006年高校软件工程排名(开设学校:139所) 1、南京大学 2、清华大学 3、复旦大学 4、武汉大学 5、浙江大学 6、上海交通大学 7、中国科学技术大学 8、中山大学 9、华中科技大学 10、哈尔滨工业大学 11、陕西师范大学 12、吉林大学 13、东北师范大学 14、北京师范大学 其他院校该专业较强的有: 北京交通大学 北京理工大学 华东师范大学 华南理工大学 南开大学 四川大学

天津大学 西安交通大学 西北工业大学 厦门大学 中国地质大学 同济大学 苏州大学 重庆大学 中国石油大学 南京理工大学 宁夏大学 教高[2001]6号文:教育部、国家计委关于批准有关高等学校试 办示范性软件学院的通知 教育部、国家计委关于批准有关高等学校试办示范性软件学院的通知 (2001年12月3日) 教高〔2001〕6号 为适应我国经济结构战略性调整的要求和软件产业发展对人才的迫切需要,实现我国软件人才培养的跨越式发展,教育部和国家发展计划委员会共同研究决定选择部分高等学校,

采取多项扶持政策,支持其试办示范性软件学院。这是新时期推进高等教育改革与发展的一项重要举措。经统一部署、有关高校申报和专家评审,现决定首批批准35所高等学校试办示范性软件学院。为做好示范性软件学院的建设工作,现将有关意见通知如下: 一、要将建设示范性软件学院作为进入新世纪跨越式培养软件人才的重大举措落实好。《国务院关于印发鼓励软件产业和集成电路产业发展若干政策的通知》(国发[2000]18号)中明确提出通过政策引导,鼓励资金、人才等资源投向软件产业,进一步促进我国信息产业快速发展,力争到2010年使我国软件产业研究开发和生产能力达到或接近国际先进水平。实现这一政策目标,加快软件人才培养是重要保证。建设示范性软件学院是我国软件产业人才培养方面实现跨越式发展的一次重大改革尝试,旨在为我国软件产业的发展带来新的推动力。各示范性软件学院要抓住机遇,加快建设步伐,努力成为我国有重要影响的多层次实用 型软件人才培养基地。 二、要将建设示范性软件学院作为加大高等教育人才培养结构调整力度,推进用信息技术改造传统产业的重要举措抓好。《国民经济和社会发展第十个五年计划纲要》提出,要以信息化带动工业化,发挥后发优势,实现社会生产力的跨越式发展。各示范性软件学院要在加大软件专门人才培养力度的同时,把培养大批各类复合型软件人才作为重要任务,为用信息技术改造传统产业准备坚实的人才基础。示范性软件学院可以从所在学校二年级后在校本科生中招生;可以开展软件方向第二学士学位办学;可以招收软件方向工程硕士研究生;可直接从应届本科毕业生中招收工程硕士研究生;招生方式和规模由所在学校自主确定,国 家不安排招生计划数。 三、建设示范性软件学院要以进一步推进办学机制改革,主动推进国内合作办学与中外合作办学,推动产学研紧密结合为基本办学模式。可以多途径探索合作办学的管理体制与运行机制,由高等学校与国内外企业合作,拉动社会资金投入,按运作企业化、办学专业化、后勤社会化的模式兴办。示范性软件学院应把开展切实有效的产学研合作作为推进办学模式

软件工程作业(答案参考)

软件工程第一次作业 1)软件工程适用范围? 答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 2)软件工程如何控制系统开发的复杂性的? 答:可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。 4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。请问如果你是项目负责人,你会选择为客户开发那个层次的软件? 答:我会选择仅仅满足用户需求的软件。因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

人事管理系统详细设计说明书

目录 1.引言............................................. 错误!未定义书签。 编写目的........................................ 错误!未定义书签。 项目背景........................................ 错误!未定义书签。 参考资料........................................ 错误!未定义书签。2.总体设计......................................... 错误!未定义书签。 需求概述........................................ 错误!未定义书签。 软件结构........................................ 错误!未定义书签。3.程序描述......................................... 错误!未定义书签。 功能描述........................................ 错误!未定义书签。 性能............................................ 错误!未定义书签。 输入项目........................................ 错误!未定义书签。 输出项目........................................ 错误!未定义书签。 算法............................................ 错误!未定义书签。 程序逻辑........................................ 错误!未定义书签。 软件接口........................................ 错误!未定义书签。 限制条件........................................ 错误!未定义书签。 测试要点........................................ 错误!未定义书签。

软件工程师详细介绍

软件工程师 软件工程师 从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位。这些岗位的分工不同,职位和/或级别不同,但工作内容都是与软件开发生产相关的。 职位定义 负责产品的软件研发,承担软件设计、代码编写、软件测试方案制订、代码调试和测试等。负责产品软件的客制化工作,按照客户需求定制软件用户界面,定制驱动程序,开发安装程序等。 职位分类 根据工作内容,软件工程师可有多种分类,如应用系统工程师、系统架构师分析师、系统集成和测试工程师、嵌入式软件工程师、数据库软件工程师等等。 工作内容 1、指导程序员的工作; 2、参与软件工程系统的设计、开发、测试等过程; 3、协助工程管理人保证项目的质量; 4、负责工程中主要功能的代码实现; 5、解决工程中的关键问题和技术难题; 6、协调各个程序员的工作,并能与其它软件工程师协作工作。 从业要求 1、计算机相关专业大学本科以上学历,具有扎实的计算机基础理论知识; 2、精通C/C++、Java语言,具有丰富的Unix/Linux系统下开发经验;

3、精通Perl、Python、PHP、Shell等其中一种语言; 4、有一定的算法基础,具有较强的独立解决问题能力; 5、两年以上业界工作经验,具有Web应用开发经验者优先; 6、有大容量、高性能、分布式系统的设计开发经验者优先; 7、具有很强的学习能力和对新技术的追求精神; 8、具有良好的中英文沟通能力,具有项目管理经验者优先; 9、认同客户第一、团队合作、拥抱变化、诚信、激情、敬业的企业价值观。 优秀者特质 精通Java SE和Java EE技术,包括Servlet/JSP、Applet、JDBC、EJB、Web Service等。掌握面向对象的分析和设计技术,包括设计模式。能够整合企业管理理念、业务流程、基础数据、人力物力、计算机硬件和软件等众多企业资源,并应用ERP系统针对企业资源进行管理。 职位背景、现状和前景 当今社会不论什么职业的都需要一个不断学习的环节,软件工程师也一样。虽然软件工程师的工作不同于程序员但是一个软件工程师其前身必定是一个优秀的程序员,软件的开发工具、开发技术在不断地发展。在校学生所能学到的东西很难跟得上发展的需要但是也不能说那些东西完全没有用,只有在完全理解了相应的基本技能之后你才能很轻松地掌握新的技能,软件技术都是一个循序渐进的过程。所以学好学校所能提供的专业课程是相当重要的。IT行业的平稳增长必然会带来软件工程师需求的增长,目前随着IT产品出现的技术融合,软件行业需要的也是复合型人才,软件工程师需要掌握更多的编程语言。 “做软件的人必须要随时充电,不然的话肯定会被淘汰。”智联招聘顾问郝健表示。 软件工程师理想的状态是走向软件架构师、项目经理、研发经理等职位。“薪酬水平肯定是

软件工程大学规划

软件工程导论作业 1.什么是软件工程,软件工程专业的主干课程有哪些,软件工程的就业方向有哪些? 软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 主要课程: 高等数学、大学物理、电路理论与应用系列课程、操作系统原理、编译原理、数据结构、程序设计方法、软件工程学理论、系统设计与分析、计算机组成原理、计算机系统结构、网络原理、软件质量与成熟度模型、面向对象程序设计、Java程序设计、信息科学理论、密码编码学与网络安全、软件工程项目管理等 就业方向:主要在信息产业和国民经济部门从事信息系统研究、分析、设计、开发和测试及软件工程项目的组织和管理工作。 2.软件工程专业大一大二开设哪些专业基础课程,这些课程有什么重要性,该如何学习? 专业基础课程:高等数学(1-2)、微积分、线性代数、概率论与数据统计、复变函数与积分、大学物理、电子技术基础、计算机引论。 学习方法:这些都是为了我们以后能够更好的学习高级专业知识的基础课程,只有学习好了这些知识,我们才能在以后的学习和工作中如鱼得水,不会因为基础不够而放弃学习。不管是什么课程,我都会好好的上,不缺课,不迟到,不早退,每天第一个到教室,每次都坐第一排!而且在晚自习的时候认真的学习,晚自习下课之后再继续学习一个小时,为了充实自己的人生,付出一切的努力,我觉得只要我能够做到这些学习就不用担心了! 3.作为Web应用开发程序员需要掌握哪些Web开发技术,需要选修哪些专业方向课程? Jave语言,面向对象分析设计思想,设计模式和框架结构,XML语言,网页脚本语言,应用服务,集成开发环境,C#(C++或java),基础的HTML,Javascript,csss 动态语言ASP,https://www.sodocs.net/doc/c514191325.html,,数据库SQL SERVER,ACCESS。 需要选修:java,计算机网络工程,web的应用与开发等。

软件工程设计模式基础

软件工程与设计模式 1、UML方面 标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图。 2. 软件开发的 3、j2ee常用的设计模式?说明工厂模式。 总共23种,分为三大类:创建型,结构型,行为型 我只记得其中常用的6、7种,分别是: 创建型(工厂、工厂方法、抽象工厂、单例) 结构型(包装、适配器,组合,代理) 行为(观察者,模版,策略) 然后再针对你熟悉的模式谈谈你的理解即可。 Java中的23种设计模式: Factory(工厂模式), Builder(建造模式), Factory Method(工厂方法模式), Prototype(原始模型模式),Singleton(单例模式),Facade(门面模式),

Adapter(适配器模式), Bridge(桥梁模式), Composite(合成模 式), Decorator(装饰模式), Flyweight(享元模式), Proxy(代理模式),Command(命令模式), Interpreter(解释器模式), Visitor(访问者模式), Iterator(迭代子模式), Mediator(调停者模式), Memento(备忘录模式), Observer(观察者模式),State(状态模式),Strategy(策略模式),Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可 以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的 抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的 操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当 得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是 哪一个子类的实例。 4、开发中都用到了那些设计模式?用在什么场合? 每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet 或者J2EE的相关应用。简单工厂模式等。

人事管理系统的设计(开发)

人事管理系统的设计(开发) 目录 1.功能概述 2.开发背景及意义 3. 软件环境 3.系统层次结构 5 设计阶段类图 6. 软件具体功能说明,界面说明(表单说明) 7. 体会及优缺点分析

人事管理系统的设计(开发) 1. 功能概述 人事工资管理系统是不可缺少的部分,它的内容对于其的决策者和管理者来说都至关重要,所以人事工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。人事工资管理系统的主要任务就是使用计算机,对所有公司成员的人事档案资料进行保存;在需要时进行查找、分类、统计或者增加、修改和删除等操作;可以针对不同的目的,对各种档案资料进行查询。 2. 开发背景及意义 随着计算机技术、网络技术和信息技术的发展,现在办公系统更趋于系统化、科学化和网络化。网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。现在许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。 本系统就是基于本公司的人事管理而设计的,是对公司的人事资料进行管理,为人事管理人员提供了一套操作简单、使用可靠、界面友好、易于管理和使用的处理工具。本系统对人事各种数据进行统一处理,避免数据存取、数据处理的重复,提高工作效率,减少了系统数据处理的复杂性。本系统不仅使公司人事管理人员从繁重的工作中解脱出来,而且提高了人事管理的效率,提高了人事管理的科学性,方便了用户查询、管理人员进行管理。 3. 软件环境 服务器端要求如下: 操作系统:Windows 2000 Server 数据库:Mircrosoft SQLserver2005

相关主题