当前位置:文档之家› 对计算机软件工程发展的认识

对计算机软件工程发展的认识

对计算机软件工程发展的认识
对计算机软件工程发展的认识

对计算机软件工程发展的认识

摘要:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。本文简要谈谈对计算机软件工程发展的认识,并展望了我国软件工程的发展。

关键词:软件工程软件技术软件产业

自1968年软件工程(Software Engineering,简称为SE)概念提出以来,经过40多年的发展,其已变得比较成熟。它不仅适应也促进了计算机软硬件技术的更新。

一、社会需要使计算机软件工程应运而生

上世纪六十年代末,随着算机应用领域的扩大,人们对软件的需求量剧增,对软件的正确性提出了更高的要求,并迫切需要缩短软件生产周期。但是,当时的软件编制还只是一种手工活动,过多地依赖程序员的个人能力和技巧,这就导致了软件生产周期长,可靠性及可维护性也很差。软件开发远远满足不了社会的需求,从而爆发了一场“软件危机”。在此背景下,计算机软件工程应运而生。

那么,什么是软件工程呢?它是一门研究软件开发、生产、管理和维护等一整套的理论与方法的新兴学科。它主要研究软件开发的可行性、软件的结构、软件的设计方法、开发工具、软件工程在实施过程中象“系统工程”一样广泛的利用了应用数学、系统科学、行为科学、物理学、哲学、人类工程学等学科的思想、理论与方法。所以它即属于基础理论学科,又属于工程技术学科。

计算机科学技术的应用与发展,提高了各行各业的现代化水平,改进了人们的生活方式,而这其中,计算机软件起到了无法枯量的作用。软件工程作为一门学科的出现给软件界带来了一场变革,众多的研究者和实践者投身于软件工程领域,并取得了丰硕成果。虽然离预期目标仍有很大距离,并未能从根本上克服软件危机,但是软件工程的思想毕竟给人们带来了希望。事实证明软件产业必将成为未来社会经济的支柱产业之一,软件产品的生产和开发必须走工程化、商品化的道路,社会的需求必须加大开发软件产品投入的力度,提高软件产品的质。

二、计算机软件与硬件发展的不平衡推动了软件工程的发展

从科学技术发展的历史过程来看,各门学科之间发展是不平衡的,这种不平衡推动了新学科的产生或旧学科的发展。计算机系统必须由硬件和软件两部分组成。硬件指的是能够看得见的计算机部件,软件指的是计算机上运行的程序以及开发程序的文档。硬件和软件的协调才能构成计算机系统。然而,硬件和软件的发展总是不同步,在六十年代末表现尤为突出。由于微电子学技术的进步和硬件工程的发展,硬件生产取得了巨大的飞跃,计算机的计算速度成倍提高,计算机

计算机软件工程B

《软件工程》试卷 第1页(共8页) 7、在软件的设计阶段应提供的文档是(B )。 A 、软件需求规格说明书 B 、概要设计规格说明书和详细设计规格说明书 C 、数据字典及流程图 D 、源程序以及源程序的说明书 8、划分软件生存周期的阶段时所应遵循的基本原则是(B )。 A 、各阶段的任务尽可能相关性 B 、各阶段的任务尽可能相对独立 C 、各阶段的任务在时间上连续 D 、各阶段的任务在时间上相对独立 9、系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括(B )。 A 、软件环境可行性、技术可行性、经济可行性、社会可行性 B 、经济可行性、技术可行性、操作可行性 C 、经济可行性、社会可行性、系统可行性 D 、经济可行性、实用性、社会可行性 10、面向数据结构的设计方法(Jackson 方法)是进行( B )的形式化的方法。 A 、系统设计 B 、详细设计 C 、软件设计 D 、编码 11、在进行软件测试时, 首先应当进行( A ),然后再进行组装测试,最后再进行有效性测试。 A 、单元测试 B 、集成测试 C 、确认测试 D 、组合测试 12、在整个软件维护阶段所花费的全部工作中,( B )所占比例最大。 A 、校正性维护 B 、适应性维护 C 、完善性维护 D 、预防性维护 13、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过程。 A 、数据流 B 、数据流图 C 、数据库 D 、数据结构 14、下列( B )不是反映用户在使用软件产品时的三种倾向。 A 、产品运行 B 、产品可再用性 C 、产品修改 D 、产品转移 《软件工程》试卷 第2页(共8页)

计算机软件开发与应用专业

计算机软件开发与应用专业 .NET编程基础(专科)试题B 一、填空题(每空2分,共20分) 1、在引用对象时,将该对象所在的命名空间作为 前缀,这种命名空间的引用方法称之 为,另外还可以通过使用 Imports语句定义“别名”来引用命名空间。2、通用类型系统包括值类型和两 种类型。 3、Directory.GetDirectories 返回的是 数组。 4、类的成员包括成员变量和成员函数。公开的成 员变量又称为,而用Property 语句定义的成员变量则称为属性。 5、打开文件涉及3个枚举类型值的参数: FileMode、FileAccess和。 6、使用数据适配器的方法将数据 填充到数据集中。 7、流涉及三个基本操作:Read、和 Seek。 8、myDataSet.Tables.AddRange (dtArray)语句中 的dtArray是一个数组。 9、DataTable有三种集合:、 Columns和Constraints。 10、使用StreamReader类的方法可以 判断文件指针是否到了末尾。 二、选择题(选择一个正确答案的代码填入括号中,每个2分,共20分) 1、String.Chars(3) 返回字符串的第()个字 符。 A. 3 B. 4 C. 2 D. 1 2、下面这段代码中,变量subString的结果是 ()。 Dim aString As String = "Left Center Right" Dim subString As String subString = aString.SubString(1,4) A." Left" B."Left " C."Left" D."eft " 3、如果要给DataTable添加约束但是不添加数 据,需要使用()。 A.数据适配器的FillSchema方法 B.DataTable的FillSchema方法 C.DataTable的Fill方法 D.DataSet的FillSchema方法 E.数据适配器的Fill方法。 4、以下不属于值类型的是()。 A.结构 B.对象 C.内置值类型 D.枚举 5、 )。 A.公共属性 B.只读属性 C.只写属性 D.可变属性 6、访问Access数据库需要使用的命名空间是 ()。 A.System.Data.SqlClient B.System.Data.OleDb

第一课 认识计算机(一)

第一课认识计算机(一) 第一课认识计算机(一) 教学内容:教材第1-4页:认识计算机的组成。 教学要求:通过教学,使学生认识计算机是由计算机硬件和软件组成,知道计算机各个部分的名称及主要用途,培养学生学习计算机的兴趣。 教学过程: 一、引入新课: 计算机是20世纪人类最伟大的发明之一,目前,它已被广泛的应用于社会的各个领域,成为人类的得力助手。你家里有计算机吗?你知道它是由哪些部分组成的吗? 二、教学新课: 1、计算机的外观: 从外观上看,计算机主要由以下几个部分组成:主机、显示器、键盘、鼠标和打印机。看一看,电脑桌上的’电脑有几个部分。 教师教学每一部分的名称,学生对照机器进行观察记忆。 2、计算机硬件: 我们把计算机中看得见、摸得着的设备称为计算机的硬件。 主机是计算机的核心,主要包括中央处理器和内存储器。 中央处理器是计算机的心脏,英文缩写CPU,它是计算机的核心部件。内存储器是负责存储信息,相当于计算机内部的存储中心。 显示器是计算机的输出设备,能把我们输入计算机的信息及计算机处理后的结果显示出来。 键盘和鼠标是计算机最常用的输入设备,利用它们可以向计算机输入信息,指挥计算机工作。 打印机也是计算机的一种输出设备,可以把计算机输出的结果打印在纸上。 3、计算机软件: 仅有硬件计算机是无法工作的,还必须要有相应的软件。计算机软件有很多种。如同学们玩的游戏软件,帮助我们学习的教学软件……

计算机软件是高科技的知识产品,受法律保护,我们不能随便复制别人的软件作品。 计算机的硬件和软件组成了一个完整的计算机系统,它们共同决定了计算机的工作能力。 三、巩固: 回顾本节课学习的内容,对照计算机说出各部分名称,和各部分的主要用途。 四、作业; 完成练习题1-4

软件工程专业认识实习报告 - 副本

软件工程专业 软件项目实践(认识实习)报告 教学单位软件学院 班级软件13-3班 学生姓名 学号 132001031 实习时间 2015.6.29-2015.7.10 指导教师 辽宁工程技术大学教务处制

目录 1 实习时间 (1) 2 实习目的 (1) 3 实习项目及内容 (1) 3.1 校内实习内容总结 (1) 3.2 校外实习内容总结........................... .. (11) 4 存在的问题 ........................... (20) 5 总结与展望 .............................. (21)

人能力有问题。这也是领导最不想听到的话,不要轻易说不。我们不会,完全可以借这个机会去学习,去查资料,但我们不能说不。 第五,不要把工作的活拖到明天,那样会越来越多,也不要在工作期间老是打酱油,否则经理一怒之下,临下班的时候,给你发过来一个任务,让你务必今天完成,那你就悲剧了,还是木有加班费的加班。 第六,没有任务了,就主动去问经理还有没有任务了,和经理处好关系很重要,以后有什么好事都会想到你的,倘若实在是没事了,那就多测测自己的项目。 第七,多学学英语还是有点好处的。 第二次报告: 主要关于Linux的有关知识和如何去学好它: 1.掌握至少50个以上的常用命令。 2.熟悉Gnome/KDE等X-windows桌面环境操作。 3.掌握.tgz、.rpm等软件包的常用安装方法 4.学习添加外设,安装设备驱动程序(比如网卡) 5.熟悉Grub/Lilo引导器及简单的修复操作。 6.熟悉Linux文件系统和目录结构。 7.掌握vi,gcc,gdb等常用编辑器,编译器,调试器。 8.理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。 9.学习Linux环境下的组网。 第三次报告: Oracle数据库 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。 Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了

计算机软件工程毕业设计论文

目录 目录 (1) 摘要 (1) 前言 (3) 第一章绪论 (4) 1.1研究背景 (4) 1.2设计目标 (4) 1.3本文结构 (5) 第二章系统开发环境与技术 (6) 2.1系统开发环境 (6) 2.1.1 MyEclipse插件介绍 (6) 2.1.2 Tomcat服务器介绍 (6) 2.2系统开发技术 (7) 2.2.1 JSP与Servlet技术 (7) 2.2.2 JavaScript简介 (10) 2.2.3 MVC模式 (11) 2.2.4 Struts框架 (11) 2.2.5 Spring框架 (13) 2.2.6 Hibernate框架 (15) 第三章系统需求分析与前台设计 (17) 3.1需求分析 (17) 3.1.1 系统前台简要设计概述 (17) 3.1.2 系统用例图 (18) 3.2系统设计 (18) 3.2.1 系统层次划分 (18) 3.2.2 数据库设计 (19) 3.2.3 成本管理模块时序图 (22) 第四章系统详细设计与功能实现 (27) 4.1系统项目的文件夹结构 (27) 4.2成本管理模块的具体实现 (28) 4.2.1 查询成本信息列表功能的实现 (28)

4.2.3 修改成本信息功能的实现 (36) 4.2.4 删除成本信息功能的实现 (39) 4.2.5 查看成本明细信息功能的实现 (41) 第五章总结与展望 (43) 5.1课题总结 (43) 5.2进一步开发的展望 (43) 参考文献 (44) 致谢 (45)

摘要 服饰企业生产状况联络表是针对企业的实际情况而进行设计、开发的,而成本管理模块则是为了保持产品的成本信息及时的保存、更新。利用JSP技术和SSH框架以及相应的数据库访问技术实现了基于Web的系统。该框架可以减少模块之间的耦合性,让开发人员减轻重新建立解决复杂问题方案的负担,并且可以被扩展以进行内部的定制化。通过使用JSP技术建设动态网站,充分发挥了Java语言所独有的易用性、跨平台性和安全性,从而构建了一个运行高效、安全可靠、适用性广的管理系统,实现了企业信息资源的网上管理,满足了公司业务处理的需要,使企业适应了网络经济时代发展的要求。 论文首先简要介绍了企业管理系统的一些研究与应用背景,其次介绍了该网站系统所采用的开发工具、平台以及开发环境。在此基础上,论文详尽描述了成本管理系统情况。 关键词:JSP,SSH框架,成本管理 作者:XX 指导老师:XX

计算机软件专业个人简历

计算机软件专业个人简历 导读:本文是关于计算机软件专业个人简历,希望能帮助到您! 个人基本简历 姓名:-国籍:中国无照片 个人简历网 目前所在地:广州民族:汉族 户口所在地:广州身材:160 cm kg 婚姻状况:未婚年龄:20 岁 培训认证:诚信徽章: 求职意向及工作经历 人才类型:普通求职 应聘职位:电脑操作员/打字员:电脑操作员文秘/文员前台接待/总机/接待生 工作年限:0职称:无职称 求职类型:全职可到职-随时 月薪要求:1500--2000希望工作地区:广州广州 个人工作经历:公司名称:广东发展银行信用卡中心起止年月:2008-02 ~ 2008-06 公司性质:所属行业:金融,保险 担任职务:操作处录入组 工作描述:主要负责公司文档的处理工作

离职原因: 公司名称:天河职业高级中学棠德校区起止年月:2007-12 ~2008-01 公司性质:所属行业: 担任职务:录入员 工作描述:主要负责在校学生国家等级考试资料输入以及照相工作 离职原因: 公司名称:英泰移动通信学院起止年月:2007-07 ~ 2007-09 公司性质:私营企业所属行业:文化,艺术 担任职务:前台 工作描述:主要负责预约、接待、复印等工作 离职原因: 公司名称:棠下村居委会起止年月:2006-03 ~ 2006-04 公司性质:所属行业:其他 担任职务:录入员 工作描述:主要负责人口登记 离职原因: 教育背景 毕业院校:天河职业高级中学 最高学历:中专毕业-2008-07-01 所学专业一:计算机软件所学专业二:计算机网络

受教育培训经历:起始年月终止年月学校(机构)专业获得证书证书编号 2005-092008-07天河职业高级中学计算机全国计算机一级证15244401308871 2005-092008-07天河职业高级中学计算机网络管理员200708310623803 2005-092008-07天河职业高级中学计算机计算机办公软件应用四级/中级技能0819010000413522 语言能力 外语:英语一般 国语水平:良好粤语水平:优秀 工作能力及其他专长 在计算机方面有较厚的理论基础,熟练掌握办工软件如:用Work 排版、应用Photoshop图片处理、Excel的数据汇总、使用Fash 的动画设计、采用Dreamweaver的网页设计、熟练操做ppt 还学习了Java、 Access、 Asp的课程。考取了全国计算机一级证、网络中级管理员证书。有良好的沟通能力,精通粤语、国语。有较强的打字能力,每分钟70个中文字。 详细个人自传 本人对工作认真负责、态度积极、与人相处融洽、适应力强、勤奋好学、脚踏实地、乐观向上。

认识计算机教案

教案设计

认识计算机 教学目的与要求: (1)了解计算机组成各部分的名称和作用。 (2)知道什么是计算机软件,了解计算机软件的作用。 (3)了解计算机处理信息的过程。 课时安排: 1课时 教学重点与难点: (1)计算机是由特定功能的各种设备组合在一起的一个整体。 (2)计算机硬件和软件的概念。 教学过程: 一、导入 同学们,计算机这个词对于我们来说已经不再陌生了,它已经渗透到我们生活中的每个环节中去了。那么你们知道哪些有关计算机的名词呢?(根据学生的回答,教师作出相应的小结)。同学们,你们所说的这些名词有的是计算机的硬件,有的是计算机的软件,还有一些则是计算机的应用,今天我们就要学习计算机的组成,计算机是由硬件和软件两个部分组成的。通过大家的共同努力,我相信大家都会成为一个计算机小行家。 二、新授(以台式微机为例) 1.硬件 计算机硬件从外观上看,计算机由主机、显示器、键盘、鼠标器等部分组成。(结合实物讲解)硬件就是我们实实在在能够看到的计算机部分。学生看书,结合图片自学各部分名称及作用。教师补充,区分输入、输出设备。 (1)主机 主机是计算机的心脏和大脑,在里面有很多的部件,分别实现各种连接和处理功能。它能存储输入和处理的信息,进行运算,控制其他设备的工作。 打开计算机主机箱,里面有一块印刷电路板,这就是计算机的主机板(简称主板),一般地,计算机的重要控件都做在计算机的主板上。主板上还许多部件,如ROM、RAM、总线槽、插座、电池等。机箱内还有硬盘、软驱、光驱、电源和小喇叭等。 (2)输入设备 键盘主要用来输入文字和命令,是一种输入设备。其实输入设备还有很多,我们常用的还有鼠标器、话筒、扫描仪、手写笔等。 (3)输出设备 显示器可以把计算机处理的数据给我们看,它是一种输出设备。输出设备还有打

软件工程专业认知

软件工程专业认知 计算机专业分方向我选择的是软件工程这个方向。软件工程是应用计算机 科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程 的原则、方法,以提高质量、降低成本。其中,计算机科学、数学用于构 建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及 确定权衡,管理科学用于计划、资源、质量、成本等管理。这个方向的学科基础选修课有:软件质量管理与测试、软件体系结构、软件项目管理以及软件复用技术。 软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移 植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目 标有助于提高软件产品的质量和开发效率,减少维护的困难。 软件质量管理与测试:质量管理在软件工程中是非常非常重要的一个环节,无论你有多么精妙的算法,或是使用了多么先进的技术,还是拥有了多少强的设计,在质量控制或质量管理面前,这些都可能什么都不是。这里,有一些质量管 理的法则,可以让软件的用户从中受益。如果对质量管理一言以蔽之:面对一个长期不断需要改善的软件,当其用户或是管理者们来说,他们对某个组织所提供的标准有一种完全和最基本的信任。软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。 软件体系结构:软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。 软件项目管理:软件项目管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程。为使软件项目开发获得成功,关键问题是必须对软件 项目的工作范围、可能风险、需要资源(人、硬件/软件)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等做到心中有数。这种管理在技术工

计算机软件工程简介

计算机软件工程简介 软件工程是在人们总结了软件危机产生原因的基础上诞生的新的学科,它将计算机科学技术、数学、管理学的原理运用到软件开发的整个过程中。运用数学中的理论和方法来构造软件模型和算法,运用管理科学的思想和方法指导软件的项目、资源、质量、成本等工作。软件工程学科包括软件工程原理、软件工程过程、软件工程方法、软件工程技术、软件工程模型、软件工程管理、软件工程度量、软件工程环境、软件工程应用等内容。软件工程学的目的是有效地组织软件开发过程,提高软件开发效率,尽量降低软件开发的成本。软件工程学将工程化的观点融会贯通于软件生存周期中。 软件生存周期是一个软件从生到灭所历经的整个过程。具体来说是从提出软件开发(即软件策划)开始,历经分析、设计、实现、演化,一直到被其他软件所替换的全过程。 软件策划是一个软件产品“生命“的起始点,是对要开发的软件项目进行的总体规划。软件策划包括问题定义、可行性分析、软件规划和制定软件开发计划等工作。软件策划从客户提出需求开始,对需求进行初步调查、分析。并在此基础上形成用户和开发人员认同的问题定义报告。再针对此报告进行可行性分析,从经济、技术和社会等方面对项目的必要性、可行性、合理性和重大风险性进行分析和评价,得出项目是否可行的结论。如果可行,则制定具体的软件开发计划。《软件开发计划书》是软件开发工作的指导纲领。 软件开发计划书的内容包括: ●软件项目总述:包括软件项目名称,项目提出的背景、软件目标、软件性质、 范围、基本需求、基本环境、基础条件和时限要求等 ●软件开发的总体问题:包括软件开发的总时间要求、软件开发方式和软件开发 方法等。 ●工作任务 软件开发阶段:软件策划(初始)、细化、构建和移交; 软件策划阶段:问题定义、可行性分析、软件规划、制定软件开发计 划书; 软件细化阶段和构建阶段:领域分析、需求分析、系统设计、编程和 调试; 软件移交阶段:用户培训、数据转移、试运行和验收与评价; ●资源需求:包括人力资源和环境资源 ●进度计划:制定软件开发的进度 经过上面的准备工作后,接下来就要进入软件项目的具体分析阶段了。 软件分析是软件设计的基础。软件分析包括领域分析和需求分析两项工作。领域分析是对软件所服务的应用领域进行的分析工作。也就是说,如果想开发某个专业领域的软件,设计者首先要对该领域的业务流程、业务特点充分掌握。现在软件的服务领域具有广阔性和多样性,不同软件的应用领域差异很大。多采取的做法是开发人员深入到企业内部,进行实地

对软件工程的认识

我对软件工程的认识 随着软件危机的存在才慢慢地产生了对软件工程的认识,在软件开发和维护的过程中存在着很多严重的问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关,逐渐地产生了软件工程。 软件危机的表现: i)软件开发成本难以控制、软件开发进度难以预测。 费用超支、进度拖延的情况屡屡发生。有时为了赶进度或压成本不得不采取一些权宜之计,这样又往往严重损害了软件产品的质量。 ii)软件的可靠性差,产品质量无法保证。 软件是逻辑产品,质量问题很难以统一的标准度量,因而造成质量控制困难。尽管耗费了大量的人力物力,而系统的正确性却越来越难以保证,出错率大大增加。 iii)生产出来的软件难以维护 很多程序缺乏相应的文档资料,程序中的错误难以定位,难以改正,有时改正了已有的错误又引入新的错误。随着软件的社会拥有量越来越大,维护占用了大量人力、物力和财力。 iiii)软件成本在计算机系统总成本中所占的比例居高不下,且逐年上升。 由于微电子学技术的进步和硬件生产自动化程度不断提高,硬件成本逐年下降,性能和产量迅速提高。然而软件开发需要大量的人力,软件成本随着软件规模和数量的剧增而持续上升。 iiiii)软件开发生产率提高的速度远远满足不了计算机应用迅速普及深入的需要。软件产品供不应求的状况使得人类不能充分利用现代计算机硬件所能提供的巨大潜力。 iiiiii)用户对产品功能难以满足。 开发人员和用户之间很难沟通、矛盾很难统一。往往是软件人员不能真正了解用户的需求,而用户又不了解计算机求解问题的模式和能力,双方无法用共同熟悉的语言进行交流和描述。

软件工程是将系统的、科学的和严密的方法应用于设计、开发、运行和维护软件,以及对这些方法本身的研究,也就是将工程应用于软件,它由方法、工具和过程三部分组成,而软件是计算机系统中程序、数据和文档的集合。程序是用程序设计语言描述的、适合计算机处理的语句序列,数据是使程序能够适当地处理信息的数据结构,文档是软件开发、使用和维护程序所需要的图文资料。软件具有个体化、规模庞大、维护复杂和长期性的特点。软件又分为应用软件和系统软件。应用软件是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。而系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得他们可以协调工作。 软件工程的框架可以概括为:目标、过程和原则。 (1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。 (2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。

807软件工程专业综合

807软件工程专业综合(数据结构、操作系统、计算机网络) 第一部分数据结构(60/150) 一、考试要求 要求考生比较系统地理解数据结构的基本概念和基本理论,掌握各种数据结构的特点和基本方法,着重考察考生综合运用所学知识分析问题和解决问题的能力。要求考生能够用C或C++ 语言描述数据结构中的算法。 二、考试内容 (一)绪论 数据结构的基本概念,数据的逻辑结构、存储结构; 算法的定义,算法的基本特征及算法分析的基本概念。 (二)线性表 线性关系、线性表的定义,线性表的基本操作; 线性表的顺序存储结构的构造原理; 对线性表实施的最主要的操作(包括三种链表的建立、插入和删除、检索等)的算法设计。 (三)链表 单链表、双向链表和循环链表三种链表形式的存储结构和特点以及基本操作; 稀疏矩阵的存储结构和特点以及基本操作。 (四)栈和队列 栈的定义、结构特点及其存储方式(顺序存储与链接存储)和基本操作的实现算法; 队列的结构、特点及其存储方式(顺序存储与链接存储)和基本操作的实现算法。 (五)数组和串 串的基本概念、串的存储结构和相关的操作算法; 数组的存储结构,在顺序存储的情况下,数组元素与存储单元的对应关系; 字符串比较的基本算法(包括KMP算法)。 (六)递归 递归的基本概念和实现原理以及用递归的思想描述问题和书写算法的方法; 汉诺塔、迷宫等问题的递归解法; 用栈实现递归问题的非递归解法。 (七)树和森林 树的结构和主要概念,各种二叉树的结构及其特点; 二叉树的三种遍历方法的实现原理和性质,能将二叉树的遍历方法应用于求解二叉树的叶子结点个数、二叉树计数等问题,遍历的非递归实现方法; 线索化二叉树的结构和基本操作; 堆的原理和基本操作的实现方法; 森林的定义和存储结构,森林的遍历等方法的实现; 基于霍夫曼树生成霍夫曼编码的方法。 (八)集合和搜索

计算机软件工程B

计算机软件工程B 标准化工作室编码[XX968T-XX89628-XJ668-XT689N]

提供的文档是(B )。 A、软件需求规格说明书 B、概要设计规格说明书和详细设计规格说明书 C、数据字典及流程图 D、源程序以及源程序的说明书 8、划分软件生存周期的阶段时所应遵循的基本原则是(B )。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 9、系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括(B )。 A、软件环境可行性、技术可行性、经济可行性、社会可行性 B、经济可行性、技术可行性、操作可行性 C、经济可行性、社会可行性、系统可行性 D、经济可行性、实用性、社会可行性 10、面向数据结构的设计方法(Jackson方法)是进行( B )的形式化的方法。 A、系统设计 B、详细设计 C、软件设计 D、编码 11、在进行软件测试时,首先应当进行( A ),然后再进行组装测试,最后再进行有效性测试。 A、单元测试 B、集成测试 C、确认测试 D、组合测试 12、在整个软件维护阶段所花费的全部工作中,( B )所占比例最大。 A、校正性维护 B、适应性维护 C、完善性维护 D、预防性维护13、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过程。 A、数据流 B、数据流图 C、数据库

D、数据结构 14、下列( B )不是反映用户在使用软件产品时的三种倾向。 A、产品运行 B、产品可再用性 C、产品修改 D、产品转移 《软件工程》试卷第2 页(共8页) 15、在对数据流的分析中,主要是找到变换中心,这是从( C )导出结构图的关键。 A、数据结构 B、实体关系 C、数据流图 D、E—R图 16、以下哪一项不是软件危机的表现( C )。 A、开发的软件可维护性差 B、软件极易被盗版 C、经费预算经常被突破 D、开发的软件不能满足用户需求 17、以下哪一项对模块耦合性没有影响( D )。 A、模块间接口的复杂程度 B、调用模块的方式 C、通过接口的信息 D、模块内部各个元素彼此之间的紧密结合程度18、检查软件产品是否符合需求定义的过程称为( A )。 A、确认测试 B、集成测试 C、系统测试 D、单元测试 19、下面关于详细设计的叙述中,错误的是( B )。 A、程序流程图可以描述结构化程序 B、程序流程图不能描述结构化程序 C、NS图描述的程序一定是结构化的 D、PAD图描述的程序一定是结构化的 20、软件测试中设计测试实例(test case)主要由输入数据和( C )两部分组成。 A、测试规则 B、测试计划 C、预期输出结果 D、以往

大学计算机软件专业生应该学什么

大学计算机软件专业生应该学什么 大学计算机软件专业生应该学什么2006-06-29 09:26:41 来源: 天极网网友评论11 条进入论坛收到一封mail,是一个计算机系大三学生写来的,想听听我的建议,面临将要毕业的关口,应该学点什么才能对将来有用。随后又有不少朋友通过mail,im 等等方式询问我对这个问题的看法。我本来不是计算机专业出身,也并非大师之类的人物,本来不敢好为人师。不过,既然作了这个行业,也算有点心得,被问到,也就说点心得和建议,对与不对,各位看官指教。盖个体情况差距极大,是个人观点,也就姑且一听,有用则用,当然,这世上怕也没有所谓万全之策的。1、你是否真的喜欢计算机我是真的喜欢的。如果让我选择发了大财做什么,我仍然继续玩计算机,只不过可以更自自在的玩喜欢的东西。

如果你也喜欢,喜欢学新的东西,喜欢复杂而精巧的设计,喜欢工程之美,那就适合走技术道路。如果不是这样,这条路比较辛苦,还请三思。其实产业里相关的领域也大有可为,比如说写技术相关的趋势作者,鲜有优秀的。目前除了互联网周刊的陈琼同学,我还没看到给商业媒体写技术相关的写手有几个写的好的,甚至往往都有致命的本质错误。诸如此类的周边领域很多,都有不错的机会,不一一列举。2、假如1你回答的是喜欢,那么你需要学习很多东西。我认为不可缺少的东西包括:* 基础理论* 算法* C语言* C++或java,如果精通C,可以舍弃C++,学java * unix * 正则表达式* 任何一种脚本语言(目前推荐python) 依次讲解为什么这么说* 基础理论和算法20年来,应用层面急速发展,令人眼花撩乱,而实际上,大幕之后的东西,从1972年C和unix 诞生以来就没有过本质的变化。在操作

“第2课认识计算机”教学设计

“第2课认识计算机”教学设计 刘黄玲子 【教学目标】 认知目标: ·了解计算机的基本组成,认识计算机主要部件的作用·掌握开关机的正确方法 ·掌握鼠标单击和滑动基本操作 ·对Window桌面有初步的感性认识 情感目标: ·意识到正确开关机的重要性 ·意识到有效利用计算机必须养成良好的应用习惯 【教学内容】 ·计算机的组成

·开机操作 ·鼠标单击操作 ·关机操作 【教学难点】 ·计算机的正确开关机的操作顺序 ·鼠标单击操作 【教材分析与教学建议】 本课是计算机技术的启蒙知识,主要介绍了计算机的主要组成部件、计算机的启动和关闭、鼠标使用方法。教学中要注意小学生的心理特点,努力使枯燥的基本技能训练趣味化,使学生尽快熟练地正确使用鼠标。 本课需要学生进行大量的操作练习,因此上课时应再次重申机房规则,并在教学中强调正确开、关机的重要性。 关于计算机的组成部件,教材以图文并茂的形式介绍了主机、显示器、键盘、鼠标以及音箱等。掌握计算机的各组成部分是正确使用计算机和后续学习的基础,建议在教学中增加“光驱”的介绍,并适当组织游戏强化学生的认知效果。

正常启动Windows系统后,学生由于好奇,一般都会试探地做出移动、单击鼠标的动作。根据学生的这种认知特性,教材在这里适时地安排了鼠标操作方面的内容。为了给学生充分的实践机会,可以在教学中通过各类练习或游戏(如教材后的练习题)强调鼠标“拖动”和“单击”的操作。 【教学方法和手段】 先通过游戏的形式让学生熟悉计算机的基本组成部件,以理解教师的一些指导用语;然后通过示范讲解的方式让学生快速掌握开机、鼠标单击操作、关机的基本方法;同时提供一些练习以巩固习得技能。 【教学过程】 一、导入 师:上节课,我们认识了计算机,而且知道了计算机本领很大。在现代社会中,计算机无处不在,它改变着人们的生活和工作方式。今天,我们就来学习计算机基本组成,正式开始接触计算机。 二、计算机的组成 (一)示范讲解 师:但是在我们接触计算机之前,先了解一下计算机都由哪些部分组成。 (以多媒体课件和实际设备辅助讲解)

我对软件工程专业的认识

班级:姓名:学号: 我对软件工程专业的认识 软件工程这个专业,当初并不了解,只是自认为对计算机比较感兴趣,于是选择了一些和计算机有关的专业,最后,在各种机缘巧合下,我来到了杭州电子科技大学的软件工程学院。 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用都促进了经济和社会的发展,也提高了工作和生活效率。 以上来源于百度百科软件工程。看这段话,也只是非常粗略地介绍了一下软件工程。而我对于软件工程,仍然是模糊一片。进入大学后,经过三四个月的学习以及学校开办的《软件工程专业学科导论》课程,我对软件工程有了新的认识。 在《计算机科学及时百科全书》中,对计算机软件做出如下定义:计算机软件指计算机系统中的程序及其文档。程序是计算任务的处理对象和处理规则的描述。任何以计算机为处理工具的任务都是计算任务,处理对象是数据(如数字、文字、图形、图像、声音等)或信息(数据及有关的含义)。处理规则一般指处理的动作和步骤。文档是为了便于了解程序所需的阐述性资料。 上面对于软件的描述强调抽象的逻辑定义,我们在使用计算机时用到的软件可以帮助我们更好地理解。例如Microsoft office 、腾讯QQ、Photoshop、迅雷等等,这些软件已经渗 入我们的生活,为我们提供不同的服务,包括办公、聊天、绘图、下载等等。随着计算机的普及程度越来越高,其所适用范围也越来越广,而我们对软件的需求也会越来越大,甚至依赖于软件。我相信,随着软件的更新发展,软件将能够满足人们的各种需求,所谓,软件工程,无所不能。 对于软件的大量需求,我们是否有足够的能力去研制和开放呢?著名软件工程专家 B.Boehm综合有关专家和学者的意见并总结了多年来开发软件的经验,于1983年在一篇 论文中提出了软件工程的七条基本原理。 (1)用分阶段的生存周期计划进行严格的管理。 (2)坚持进行阶段评审。 (3)实行严格的产品控制。 (4)采用现代程序设计技术。 (5)软件工程结果应能清楚地审查。 (6)开发小组的人员应该少而精。 (7)承认不断改进软件工程实践的必要性。 B.Boehm指出,遵循前六条基本原理,能够实现软件的工程化生产;根据第七条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验,才能开发一款好软件。现在市场上有非常多的软件企业,软件的数量也是不计其数,可当中适合人们需求,使用方便,易于掌握的软件又有多少呢?从目前的情况来看,企业研发软件的成本还是很高,研发周期仍需要比较长的时间,孕育出来的软件仍需要不断地修改完善。为了提高软件的研发效率,降低软件的研发成本,保证软件的质量,软件工程学科应运而生。人类5000年的文明历史,工程建设领域可谓硕果累累,这当中很重要的一点是工程建设领域的生产模式已经比较成熟,

计算机软件工程专业职业生涯设计(完整版)

计算机软件工程专业职业生涯设计 计算机软件工程专业职业生涯设计 每个人都对自己的将来有个美好的憧憬和期盼,但是要有实际的行动,现在在学校期间的努力就是最好的实际行动,我的人生我自己来掌控当然要为自己做一份详细的职业生涯规划 自我分析篇 我在初中虽然不是什么佼佼者,但我的成绩也能考上普通的高中,但是我没有选择没有,我还是来到了职业高中来学习,为什么我要选择计算机哪? 是环境影响吧。从小我就看着这个电脑长大对它有种好奇。也就渐渐的喜欢上了。喜欢是很重要的,如果你不喜欢就是在好的职业生涯规划我想也不会成就大的理想,当然这是我的想法。 我是那种多血和粘液的混合型性格的人。自我实现的意愿高,希望在人群中出人头地并且发挥重要作用。既关注个人成就,也希望通过影响和带动他人达到组织目标。乐于接受挑战、承担风险,在困难和挫折面前不轻易后退,意志顽强 我的动手能力和自我调节能力很强,收到挫折也能很快的从内心的不愉快中走出来,我对自己很有自信 360°评估 智多星型——总有一些新点子 喜欢挑战和让你兴奋的事情,聪慧,许多事情都比较拿手,致力于自己才干和能力的增长。

有很强的创造性和主动性,绝大多数是事业型的。你好奇心强,喜欢新鲜事物,关注事物的意义和发展的可能性。通常把灵感看得比什么都重要,多才多艺,适应性强且知识渊博,很善于处理挑战性的问题。善于快速抓住事物的本质,喜欢从新的角度和独到的方式思考问题,对问题经常有自己独到的见解。你机警而坦率,有杰出的分析能力,并且是优秀的策略家 不喜欢条条框框的限制和因循守旧的工作方式,习惯便捷的问题解决方法。你喜欢自由的生活并善于发现其中的乐趣和变化。 认为“计划赶不上变化”,并以实际行动证明大部分规定和规律都是有弹性,可伸缩的,通常会超出被认可和期望的限度。能用自己的热情感染他人。 可能有的盲点: 二、动力类型 总是充满热情的寻找新鲜事物,但行事缺少稳定的计划和流程,经常依靠临场发挥,可能因为忽视必要的准备工作,而草率地身陷其中。 类型为: 主宰型、开拓型 主宰型: 自我实现的意愿高,希望在人群中出人头地并且发挥重要作用。既关注个人成就,也希望通过影响和带动他人达到组织目标。 开拓型: 乐于接受挑战、承担风险,在困难和挫折面前不轻易后退,意志顽强.

计算机软件专业自述范例

计算机软件专业自述范例 Knowing where one is heading during navigation brings assured happiness. As a student majoring in Computer S oftware, I began my odyssey four years ago. Now, after the initial mysticism was gradually unveiled, my curi osity remains the same. Indeed, having entered this splendid computer world, I am more than greedy for somet hing new. From the beginning of my study, my endeavor was fixed on the underlying branches of Computer Science, partic ularly System Software development. Novel applications o n other’s platform may be fruitful, but I think it’s more appealing to act as an independent “manager”. In fact, mathematics, OS, DBMS and modern compiler ar e all the examples, any breakthrough of which would push forward the whole industry. Individuality is achiev ed in this unique position. My paces toward this goal are always steady. As mathematics permeates to the every corner of Computer Scienc e, I am eager to see how it functions. I took courses offered by the Mathematics Department including Mathem atical Analysis and Advanced Algebra. The curriculum also covered Discrete Mathematics, Probability & Statis tics and Theoretical Computer Science. As supplement to my scope of knowledge, I learn by myself Combination Mathematics and the Science of Programming. This really made a hard period of time, but the harvest was rew arding. I come to understand that even the most irrelevant software disciplines have the origins in common. The importance of Fractured Geometry in Computer Graphics is already obvious. What if a step furthers toward TSP or Bin Packing? Immeasurable. Then came my favorite topics: Operating System, Compiler and Database. I worked hard and derived bits of my own insight. In fact, I was greatly encouraged to find some of my ideas s uccessfully im plemented in the corresponding course projects. My final grade is straight “As” in these cou rsed. In short, although my experience in Computer Science is still limited, I believe its depth is well acc essible. As my advisor, Prof. Fang Yu, put it figurative ly in one of his lectures: “ It makes no difference whether a hunter captures 5 or 7 rabbits. What counts is he knows how to use his gun.” I think I can be the qualified shooter now. in my undergraduate years, I have earned various kinds of schola rships, among which were “Peking University Fellowship” and “Excellent Academic Scholarship”. My overall GPA ranks upper 10% among 48 students of the same grade. Because of my satisfactory performance, I was grant ed the honor of entering the graduate program at Peking University directly, waived of the admission test. I n retrospect, my workload is always heavy but it is worth my time of effort. Presently, I have both adequate theoretical understanding and rich programming experience. READY I AM. Of all the sub-areas of Computer Science, my major interest is parallel processing and the related compiler construction. The terminology of parallel processing came to me when I read an article about digital circuit testing. According to this article, there exist many serial approaches of solving the automatic test patter n generation (ATPG) problem. Though certain method of solving ATPG sometimes proved efficient, the computati on time for a method of solving ATPG sometimes proved efficient, the computation time for a complete result is intolerable, the a parallel processing machine is proposed. Using paralleled ATPG method, this NP complet e dilemma is ingeniously handled. After reading, I surprisingly realized that parallel processing opened a n ew window for the computationally intensive problems, which prove intractable for the VON NEUMANN Architectu re. You can always first split a specific computational task into several independent divisions, then assign

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