软件工程是一种工程形式,它运用计算机科学和数学原理,针对软件问题获得一种经济有效的解决方案。
b.用系统的、规范的、可度量的方法,开发、运行和维护软件。2.软件工程的目标是高质量和高生产力。
3.五种软件生存期模型: (1)、瀑布模型: 包括问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试和维护。 优点: a.提供了一个模板,模板使得分析、设计、编码、测试和维护的方法可以在该模板下有一个共同的指导。
b.虽然有不少缺点,但比在软件开发中随意的状态要好得多。 缺点: a.实际的大项目难以按照该模型给出的顺序进行,而且这种模型的迭代是间接的,容易由微小的变化造成大的混乱。
b.在通常情况下,用户难以表达真正的需求,而这种模型却要如此,这种模型不欢迎有二义性的问题存在的。 c.用户要等到开发周期晚期才能看到程序运行的测试版本,而在这时若发现大的错误,可能引起用户的恐慌, 而后果也是灾难性的。
d.采用这种线性模型,经常在过程的开始和结束时,要等到其他成员完成后,才能进行下去,有可能花在等待的时间 比开发的时间要长,即为堵塞状态。 (2)、增量模型: 优点: a.人员分配灵活,刚开始不用投入大量的人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。
b.当配备的人员不能在设定限期内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能 给用户,对用户起到镇静剂的作用。 c.具有一定的市场。
缺点: a.自始至终开发者和用户纠缠在一起,直到完全版本出来。 (3)、螺旋模型: 优点: 对于大型系统及软件的开发,这种模型是一种很好的方法。
开发者和客户能够较好地对待和理解每一个演化级别上的风险。 缺点: a.需要相当的风险分析评估的技术,且成功就依赖于这种技术。
b.显然,若存在一个没有被发现的大风险,将会出现问题,甚至可能导致演化过程失去控制。 c.这种模型相对较新,应用不广泛,其功效需要进一步的验证。
(4)、喷泉模型: 优点: 喷泉模型的各个阶段没有明显的界限,开发人员可以同步开发。其优点是可以提高软件项目的开发效率,节省开发时间, 适应于面向对象的软件开发过程。
缺点: 由于喷泉模型在各个开发阶段是重叠的。 (5)、变换模型: 定义:基于形式化规格说明语言及程序变换的软件开发模型。
优点: a.形式化规约可直接作为程序验证的基础,可以尽早地发现和纠正错误,包括那些在其他情况下不能发现的错误。 b.开发出来的软件具有很好的安全性和健壮性,特别适合安全部门或者软件错误会造成经济损失的开发项目。
缺点: a.开发费用高,而且需要很长的时间。 b.不能将该模型作为对客户通信的机制,因为客户对这些数学语言一无所知。
c.具有开发无缺陷软件的错误。第二章 可行性研究1.可行性研究三要素: a.经济 b.技术 c.管理2.四个方面可行性研究: a.经济可行性: 包括成本和效益 b.技术可行性: 技术现状、技术潜力、生产率和风险处理、软件质量 c.社会可行性: 市场、政策、知识产权、道德 d.操作可行性: 项目的运行方式是否行得通、现有管理制度、人员素质和操作方式是否可行。
3.数据流图P264.系统流程图 P28第三章 需求分析1.需求的种类: a.功能需求: 功能需求是指目标软件必须完成的全部功能。 b.性能需求: 性能需求是指目标软件系统必须满足的定时约束或容量约束。
通常包括:响应时间、CPU的使用率、内外存的使用率、网络传送速率、磁盘容量、系统安全性、系统的吞吐量等。 c.可靠性和可用性需求: 可靠性需求是指软件系统在给定的时间间隔内可以成功运行的概率的度量。
可用性需求是指软件系统在给定的时间点可以成功运行的概率的度量。 可靠性需求强调在一段时间范围内的系统可使用性情况;可用性则强调在一个时刻点的系统可使用性情况。
d.出错处理的需求: 出错处理需求是指目标软件系统对环境错误应该怎样响应。 e.各种接口需求: f.安装运行需求: g.未来可能提出的需求: h.逆向需求: i.约束:第四章 概要设计1.概要设计第五章 详细设计——怎样实现1.程序流程图2.盒图3.详细设计: 3.1详细设计的任务: 详细设计是对概要设计阶段划分出的每个模块进行明确的算法描述,即根据概要设计提供的说明文档,确定每一个 模块的数据结构及具体算法,并选用合适的描述工具,将其清晰地表达出来。
3.2详细设计的过程: a.对概要设计所确定的抽象性的数据类型进行确切的定义,确定软件各个模块采用的算法和内部数据的组织形式, 确定对系统内部和外部模块的即可细节。 b.确定每个模块的算法。
c.为每个模块设计一组测试用例。 d.编写详细设计说明书。
第六章 编码与测试1.程序设计语言分为两大类: 面向机器语言: 面向机器语言包括机器语言和汇编语言; 高级语言: 高级语言分为专用语言和通用语言;2.程序设计语言的选择 理想标准、实用标准、系统用户的要求、工程的规模、软件的运行环境、可以得到的软件开发工具、软件开发人员的知识、软件的可移植性要求。3.软件测试在软件开发过程中的体现: a.寻找软件错误,以便进行修正; b.证明软件符合要求,是。
培养目标:软件工程专业培养面向国民经济信息化建设和发展的需要,培养具有扎实的计算机应用理论和知识基础,掌握软件工程领域的前沿技术和软件开发方法,具备较强的软件项目的系统分析、设计、开发和测试能力,能够按工程化的原则和方法从事软件项目开发和管理的高级工程技术人才。
主要课程:离散数学、面向对象程序设计、数据结构、数据库原理、操作系统、计算机网络、软件工程、软件过程与管理、软件测试技术、软件质量管理、软件项目管理等。
毕业去向:软件工程专业毕业生主要在信息产业和国民经济部门从事信息系统研究、分析、设计、开发和测试以及软件工程项目的组织和管理工作,也可考取计算机科学与技术专业的硕士研究生。
软件工程专业是今后的热门,就业前景非常好!目前软件工程9个专业的内容和就业情况如下:
1 可视化编程
掌握程序设计方法及可视化技术,精通一种可视化平台及其软件开发技术。获取Delphi程序员系列、Java初级或VB开发能手认证。
就业方向:企业、政府、社区、各类学校等可视化编程程序员。
2 WEB应用程序设计
具有美工基础和网页动画设计能力,掌握交互式网页程序的设计技术,能进行网站建设和维护。获取Macromedia多媒体互动设计师或Delphi初级程序员或Delphi快速网络开发工程师认证。
就业方向:企业、政府、社区、各类学校等WEB应用程序员。
3 软件测试掌握软件测试的基本原理、方法和组织管理,精通软件测试工具。获取ATA软件测试工程师或Delphi初级程序员或Java初级程序员认证。
就业方向:企业、政府、社区、各类学校等软件测试员。
4 数据库管理
能应用关系范式进行数据库设计,精通SQL语言,胜任数据库服务器管理与应用工作。获取Oracle数据库管理或SQL Server数据库应用或Windows XP应用认证。
就业方向:企业、政府、社区、各类学校等部门的中、大型数据库管理员。
5 图形图像制作
精通国际上流行的图形/图像制作工具(如CorelDraw、Photoshop、Pagemaker等)。获取平面设计师相关的认证。
就业方向:广告制作公司、建筑设计公司、包装装璜设计公司、居室装修公司、出版印刷公司。
6 网络构建技术
熟悉网络结构和组网方式,掌握建网方法,能利用工具分析和排除常见网络故障。获取Cisco路由配置或华为网络工程或AMP应用工程师认证。
就业方向:企业、政府、社区、各类学校等网络构建工程师。
7 网络系统管理
掌握网络系统管理的基本知识与应用技能,能进行网络系统的安全设置。获取Window2000 Server或TurboLinux TLCE或Cisco路由配置专家认证。
就业方向:企业、政府、社区、各类学校等网络系统管理员。
8 多媒体制作
具有多媒体程序设计与多媒体制作策划的能力。基本掌握面向对象程序设计与建模、造型设计、场景设计、分镜头原理等技能。获取多媒体设计师相关的认证。
就业方向:多媒体设计与制作公司、动画美术制作出版公司、广告制作公司。
9 计算机办公应用
精通办公自动化应用与管理,熟悉服务器的安装、管理和维护,基于应用服务器的相关服务和软件系统,具备对服务器的网络安全设置、邮件、网页发布、FTP、OA、BBS等系统的应用和维护能力。就业方向:企业、政府、社区、各类学校等系统管理
最近很多人都在问如何学习编程。我觉得学习编程最重要的是入门,如果你入门的时候有一个好的方法和思路,打下比较扎实的基础,对今后的编程工作是很有益处的。即使在学习新的编程语言也无所谓,因为它们有很多相通之处,可以相互借鉴。
我认为可以先学习一下pascal,这个语言比较严谨,适合初学者。pascal它被称为教学语言,结构严谨,不像C语言那么灵活,易于理解和学习。 然后可以继续学习C语言,这个语言比较灵活。有了pascal的基础,在进行C语言编程就不会因为C语言的灵活而有问题 。后面的就可以学习VC什么的了。
C语言的书推荐谭浩强的,比较好。
我当时学习pascal和C语言的时候是将书后的习题都做了一遍,感觉效果很好。
当然了,学习什么语言也要看你具体准备从事什么行业。例如你要进行嵌入式开发,C就是很好的选择,如果是Windows开发,那么VC就不错。还有数据库方面的开发、网络开发等等。不同的语言适合不同的方面。要看自己的选择的,呵呵 。
还有很多人说自己的基础很差,甚至中学毕业什么的。其实这个并不重要,比较说英语,在计算机语言里所用到的单词量很少,而且都是常用词,经常使用就记住了。当然,如果你要看原文资料或者帮助的话,专业词汇比较多,不过在金山词霸的帮助下,经常看,也是没什么大的问题的。至于数学什么的,其实数学只是培养你一个逻辑思维能力,在初学编程的时候影响不是很大。况且,作为一个基础编程人员来说,上面还有系统分析师、项目经理,他们会把需求分析、概要设计和详细设计做好的,你只要按照文档写代码就OK了。不过,要上更上一步的话,其他基础知识就非常重要了,毕竟你不能写一辈子代码。
在你学习好C语言以后,个人建议好好学习一下数据结构和软件工程。这两门对你的水平提高都是很有帮助的。特别是软件工程,它能够使你按照科学的工程方法进行软件开发,对今后的发展很有好处。
只是一家之言,有不到之处,还望见谅!
参考资料:
软件工程学的主要内容是软件开发技术和软件工程管理。
软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。 专业简介是计算机领域发展最快的学科分支之一,国家非常重视软件行业的发展,对软件人才的培养给予了非常优惠的政策。
本专业培养掌握计算机软件基本理论知识,熟悉软件开发和管理技术、能够在计算机软件领域中从事软件设计、开发和管理的高级人才。 主修课程该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。
毕业去向除考取国内外名牌大学研究生外,主要毕业去向是计算机软件专业公司﹑信息咨询公司﹑以及金融等其它独资、合资企业。 培养目标本专业培养适应社会发展需求,德、智、体、美全面发展,具有扎实的计算机应用理论和知识基础,掌握软件工程领域的前沿技术和软件开发方法,具有较强的实践能力和创新精神,具备较强的软件项目的系统分析、设计、开发和测试能力,能够按照工程化的原则和方法从事软件项目开发和管理的应用型人才。
计算机导论
内容提要:为新学生提供一个关于计算机科学与技术学科的入门介绍,使他们对该学科有一个整体的认识,并了解该专业的学生应具有的基本知识和技能以及在该领域工作应有的职业道德与应遵守的法律准则。
数字电路与数字逻辑
内容提要:介绍数字逻辑与数字系统的基本概念、分析方法和设计原理,包括开关理论基础、组合逻辑、时序逻辑、可编程逻辑器件、数字系统等。
计算机组成原理与汇编语言
内容提要:以冯诺依曼计算机模型为出发点,介绍计算机的组织结构和工作原理,剖析计算机的运算器、存储器、控制器和输入输出设备的结构、工作原理和相互关系;介绍 80X86指令系统、汇编语言与汇编指令、汇编程序与汇编过程、简单汇编程序设计、汇编语言与高级语言的接口、宏汇编等。
计算机网络
内容提要:介绍数据通信的基本概念和计算机网络的基本原理,包括计算机网络的体系结构、数据通信的基本方法和协议、计算机网络的主要应用协议;同时介绍计算机网络系统的安全和管理知识,使学生对数据通信和计算机网络有一个全面理解。
计算机体系结构
内容提要:研究计算机系统结构的基本概念、基本原理、基本结构和基本分析方法,使同学在具有一定的软硬件知识基础上能综合认识计算机系统的软硬件功能分配与各种不同结构类型机器的特性和性能评价方法。为研究、开发、应用高级计算机系统打下基础。确立全面、系统的观点和学会定量分析问题的方法。
离散数学
内容提要:包括集合论、数理逻辑、图论、组合数学等内容,形式化的数学证明贯穿此课程。
高级程序设计语言
内容提要:分别以 C、C#或JAVA为例,介绍程序设计和语言,程序的基本数据结构、类型定义、简单类型和结构化类型、程序的基本控制结构、结构化程序设计、面向对象的程序设计等。
算法分析与设计
内容提要: 本课程延续数据结构课程的学习,从算法分析和设计的角度出发,除去传统的分类查找算法和一般的设计方法外,主要内容包括如下几个部分:算法研究的理论基础,递归分析技术,基本算法设计策略(几类经典算法学习), 多项式运算与 FFT ,串匹配,概率分析算法。 希望通过这一课程的学习,使学生能对现代的算法设计及分析的基本工具能有较全面的掌握。
数据结构
内容提要:介绍线性表及其链接存储结构与算法、数组与矩阵、堆栈与队列、广义表的存储结构与多元多项式表示、串与文本编辑、排序、树、图、文件结构。
数据库系统原理
内容提要:介绍数据库系统的基本概念、原理、方法及应用,主要包括数据库系统概论、数据库管理系统实现技术、数据库存储结构及其他类型的数据库系统。
编译技术
内容提要:介绍编译原理的理论和实践,包括编译程序设计、词法分析、语法分析、符号表、声明和存储管理、代码生成以及优化技术。
操作系统
内容提要:介绍操作系统的设计与实现,包括操作系统各组成部分的概述、互斥性和同步性、处理器实现、调度算法、存储算法、设备管理和文件系统。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:3.341秒