A. 在现代软件开发中,软件工程能够发挥什么作用
软件工程的作用是是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件。
由于“软件危机”的产生,迫使人们不得不研究、改变软件开发的技术手段和管理方法。从此软件产生进入了软件工程时代。此阶段的特点是:硬件已向巨型化、微型化、网络化和智能化四个方向发展,数据库技术已成熟并广泛应用,第三代、第四代语言出现。
软件工程第一代软件技术:结构化程序设计在数值计算领域取得优异成绩;第二代软件技术:软件测试技术、方法、原理用于软件生产过程;第三代软件技术:处理需求定义技术用于软件需求分析和描述。
(1)南通现代软件工程研究所扩展阅读:
软件工程的应用方向:
软件工程领域的主要研究热点是软件复用和软件构件技术,它们被视为是解决“软件危机”的一条现实可行的途径,是软件工业化生产的必由之路。而且软件工程会朝着开放性计算的方向发展,朝着可以确定行业基础框架、指导行业发展和技术融合的“开放计算”。
软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。
参考资料来源:网络-软件工程
B. 南通职大的专业介绍
南通职业大学
电子系
一、应用电子技术(通信技术方向)
1、培养目标:培养具有良好的思想政治素质和思想品德,具有良好的职业道德和创业、敬业精神,具备必需够用的专业基础理论知识和较强的岗位职业技能,具有通信电子产品工艺设计和生产管理能力、电路仿真与印制电路板设计能力、单片机应用开发能力和通信终端设备检修维护能力。
2、主要课程:电路分析、数字电子技术、模拟电子技术、电子测量仪器、电子设计自动化、单片机原理及应用、信号与系统、通信电子线路、移动通信原理及设备、通信终端设备维修、数字信号处理及应用、表面组装技术、计算机辅助设计、质量管理、家用电器维修、计算机硬件维修、计算机网络、结构化布线、岗位实习、毕业设计等。
3、主要就业方向:能够在通信电子产品生产一线进行工艺实施、生产组织、技术管理;能够在通信电子服务企业从事通信终端设备检修、维护、产品销售和技术支持。
二、应用电子技术(智能电子方向)
1、培养目标:培养具有良好的思想政治素质和思想品德,具有良好的职业道德和创业、敬业精神,具备必需够用的专业基础理论知识和较强的岗位职业技能,具备电子产品分析测试能力、工艺设计和生产管理能力和智能电子产品设计开发与消化吸收能力。
2、主要课程:电路分析、数字电子技术、模拟电子技术、电子测量仪器、单片机原理及应用、智能仪器及接口技术、高级智能仪器应用、电力电子变流技术、电子设计自动化、CPLD/FPGA设计与仿真、表面组装技术、传感器应用技术、PLC原理及应用、家用电器维修、计算机硬件维修、计算机网络、岗位实习、毕业设计等。
3、主要就业方向:能够在智能监测与智能仪器仪表生产一线进行工艺实施、生产组织、技术管理;能够在各企事业单位进行电子技术应用推广和从事电子产品的开发、安装、检修、维护、产品销售和技术支持。
三、应用电子技术(微电子技术方向)
1、培养目标:培养具有良好的思想政治素质和思想品德,具有良好的职业道德和创业、敬业精神,具备必需够用的专业基础理论知识和较强的岗位职业技能,能够对可编程集成电路进行编程、设计;具备集成电路封装、测试的能力;集成电路的流水线管理能力;集成电路的生产、销售与技术支持能力。
2、主要课程:电路分析、数字电子技术、模拟电子技术、电子测量仪器、半导体材料、集成电路工艺原理、IC设计与生产流程、集成电路验证实务、单片机原理及应用、电子设计自动化、CPLD/FPGA设计与仿真、表面组装技术、计算机硬件维修、计算机辅助设计、质量管理、电子技术综合实训、SMT生产线实训、半导体器件测量实训、岗位实习、毕业设计等。
3、主要就业方向:能够在微电子企业生产一线进行工艺实施、生产组织、技术管理;能够从事集成电路封装、测试、流水线管理、销售与技术支持。
☆ 应用电子技术专业是校级品牌专业,2006年被确定为江苏省品牌专业建设点。本专业学生参加全国大学生电子设计竞赛多次获全国一等奖。
四、电气自动化技术专业
1、培养目标:培养从事电气工程、自动控制领域的设计、制造、安装、调试、运行、维护和管理的高等技术应用性专门人才。本专业的毕业生具有电工电子知识、电气工程及自动控制知识,具备维修电工中级以上的技能,具有较强的计算机应用能力和英语听、说、阅读能力。
2、主要课程:电路及磁路、模拟电子技术、数字电子技术、自动控制原理、电机与拖动、电力电子变流技术、自动控制系统、检测技术、微机技术、单片机原理及应用、电气控制技术、可编程序控制器(PLC)原理及应用、工厂供电、计算机辅助设计(CAD)、计算机网络基础、家用电器维修、电气专业技能综合训练等。
3、主要就业方向:可从事电气自动化控制系统的安装、调试与维护,供配电系统的运行管理,电气成套设备的生产管理和运行维护,传统设备的技术改造,以及电气产品的生产、销售和售后服务工作。
五、电气自动化技术(化工仪表自动化)专业
1、培养目标:培养具有现代工业生产过程自动控制基础知识,具有过程控制、自动化仪表以及电气设备的安装、调试、运行和维护能力,具有电机电器、自动化设备的常规管理、使用和维护能力的高等技术应用性专门人才。本专业的毕业生具有电工电子基础知识、化工仪表使用与维护知识、具备维修电工中级以上的技能,具有较强的计算机应用能力和英语听、说、阅读能力。
2、主要课程:电路及磁路、模拟电子技术、数字电子技术、自动控制原理、电机与拖动、电力电子变流技术、自动控制系统、检测技术、微机技术、单片机原理及应用、电气控制技术、可编程序控制器(PLC)原理及应用、组态控制技术、化工原理、化工仪表、化工设备机械基础、过程控制、工业网络与现场总线、电气专业技能综合训练。
3、主要就业方向:可面向化工企业,从事化工生产过程自动化系统的安装、调试、运行和维护工作;也可面向药品制造、电气仪表、机械加工等企业,从事生产过程控制中的自动化仪表、自动化生产线以及电气设备的安装、调试、运行和维护工作。
六、电气自动化技术(楼宇自动化)专业
1、培养目标:针对目前中国人才紧缺的楼宇智能化工程技术领域,培养具有楼宇智能化系统或产品的设计、安装施工及运行管理能力,计算机网络的维护及综合布线的设计施工能力;智能建筑电气设备的维护管理及建筑供配电系统的设计、运行和管理能力的高等技术应用性专门人才。本专业的毕业生具有电工电子基础知识、具备维修电工中级以上的技能,具有较强的计算机应用能力和英语听、说、阅读能力。
2、主要课程:电路及磁路、模拟电子技术、数字电子技术、自动控制原理、电机与拖动、电力电子变流技术、自动控制系统、检测技术、微机技术、单片机原理及应用、可编程序控制器(PLC)原理及应用、楼宇智能化技术、建筑电气控制技术、建筑供配电、通信网络与综合布线、建筑电气CAD、电气专业技能综合训练。
3、主要就业方向:在建筑安装、计算机网络、物业管理、建筑智能化系统集成等单位,从事建筑智能化系统的安装、调试、施工管理、运行管理等工作。也可在一般工矿企业从事电气设备的安装、调试、运行、维护和管理工作。
☆ 电气自动化技术专业于2006年被江苏省劳动和社会保障厅确定为“教学考核与职业技能鉴定相结合”的双证书制度教改试点专业,主干课程《自动控制原理》是国家精品课程。
七、软件技术专业
1、培养目标:培养具有健康的身体和良好的心理素养,具有较强的与人交往合作的能力,具有勇于创新和接受新知识的能力,具备计算机软硬件基础理论知识、关系型数据库基础知识、面向对象分析、设计和编程的基础知识、软件测试、软件项目管理等方面的基础知识,能熟练运用软件开发技术和现代软件工程规范与方法进行Web应用程序及其组件开发的软件技术人才。
2、主要课程:计算机组装与维护、网络操作系统管理技术、信息安全技术、网页设计、Sql Server 数据库程序设计、基于C#的.NET框架程序设计、SQL SERVER数据库程序设计、UML建模基础、基于.Net的Web应用程序设计、基于.Net的Windows程序设计、XML WEB Service开发、软件测试基础、软件工程等。
3、主要就业方向:毕业生可从事Web应用程序及其组件开发工作、能够适应团队开发环境,熟练使用相关主流开发平台,按照详细设计要求完成相关的功能模块设计、编码、调试和单元测试工作。
☆ 软件技术专业是与国际著名IT厂商(微软公司)合作,培养计算机软件技术应用性人才的特色专业,学生毕业时可获得微软的相关课程认证证书(MAC,MCP)并最终取得MCAD证书。
八、计算机应用技术专业(网络技术方向)
1、培养目标:培养具有健康的身体和良好的心理素养,具有较强的与人交往合作和沟通的能力,具有勇于创新和自我学习新知识的能力,具备计算机软硬件基础理论知识、具备数据通信和计算机网络的基本原理知识,掌握计算机网络设备的安装、配置、调试技能,结构化布线工程中铜缆、光缆的布线技能及使用Windows和Linux服务器版本进行网络环境的安装、配置和管理技能的应用性专门人才。
2、主要课程:C语言与数据结构、计算机组装与维护、信息安全技术、网页设计、数据库原理及Sql Server、IT产品市场营销艺术、计算机网络、网络操作系统、网络设备使用与维护、结构化布线、网络工程案例分析、网络工程CAD等。
C. 2014年中南大学软件工程考研初试和复试的参考书目到底是什么
有什么中南大学的问题可去咨询致雅中南考研网老师
D. 软件测试人员都有什么职业发展方向
软件测试的职业发展方向基本上可以分为3类:
一. 技术类
技术类测试主要有以下3种测试职位:
1、自动化测试工程师
2、性能测试工程师
3、测试开发工程师
想往这方面发展的话需要掌握至少一门编程语言,也许有人会问自动化和性能测试工具那么多,会用工具不就可以了吗?的确工具可以做到入门级别的自动化和性能测试,但如果想做到更深层次的话还是需要手动改脚本代码,毕竟工具仅仅提供了基础的方法而已。当然通过工具入门也是非常有必要的,但最终还是需要通过编写脚本来完成相关测试的。
二. 产品类
产品类主要有以下2种职位:
一、数据分析师
二、产品经理
想往这方面发展的话只需要利用好测试经验,在设计产品或者数据分析之中考虑到用户可能产生行为(就是测试思维),从而设计出更好的产品。这点相比于没有测试经验的人来说会有很大的优势,而且也更容易和开发打交道。因此产品类的转型是非常适合不想往技术类发展的测试人员的。
三. 管理类
管理类主要有以下2种职位:
1、测试主管
2、项目经理
E. 现代软件工程的目录
第1章 现代软件工程概述
1.1 软件
1.2 软件危机
1.3 软件工程
1.4 软件的生命周期
1.5 软件工程的目标和原则
1.6 本章小结
习题1
第2章 面向对象软件开发方法
2.1 面向对象基本思想
2.2 面向对象基本概念
2.3 面向对象方法
2.4 面向对象开发统一过程
2.5 本章小结
习题2
第3章 面向对象分析与设计技术
3.1 面向对象分析技术
3.2 面向对象设计技术
3.3 ooa与ood的关系
3.4 本章小结
习题3
第4章 uml建模技术
4.1 面向对象建模及uml简介
4.2 用例视图
4.3 动态模型图
4.4 静态模型图
4.5 本章小结
习题4
第5章 软件复用基础
5.1 软件复用概述
5.2 支持软件复用的软件工程
5.3 本章小结
习题5
第6章 基于组件与web service的软件开发技术
6.1 corba组件系统
6.2 com+组件系统
6.3 j2ee组件系统
6.4 web service基础
6.5 本章小结
习题6
第7章 软件设计模式
7.1 软件设计模式基础
7.2 设计模式的分类
7.3 创建型(creational)设计模式
7.4 结构型(structural)设计模式
7.5 行为型(behavioral)设计模式
7.6 drawcli中设计模式的应用
7.7 本章小结
习题7
第8章 软件体系结构
8.1 软件体系结构基础
8.2 基本的软件体系结构风格
8.3 基于软件体系结构的开发模式
8.4 软件体系结构应用实例
8.5 本章小结
习题8
第9章 敏捷软件过程
9.1 敏捷实践
9.2 敏捷开发方法
9.3 xp——极限编程
9.4 scrum
9.5 dsdm——动态系统开发方法
9.6 crystal方法
9.7 fdd特性驱动开发
9.8 asd自适应软件开发
9.9 本章小结
习题9
第10章 软件测试技术与工具
10.1 常用的软件测试方法
10.2 常见的软件测试类型
10.3 软件测试技术
10.4 自动化测试
10.5 手工测试与自动化测试的应用比较
10.6 常用的软件测试工具
10.7 本章小结
习题10
第11章 软件项目管理
11.1 软件项目管理定义及特点
11.2 软件项目计划
11.3 软件项目风险管理
11.4 软件质量管理
11.5 软件配置管理(software configuration management,scm)
11.6 人员的组织与管理
11.7 本章小结
习题11
第12章 软件成熟度模型与软件过程
12.1 能力成熟度模型
12.2 能力成熟度模型集成
12.3 个人软件过程
12.4 团队软件过程
12.5 能力成熟度模型与软件过程之间的关系
12.6 本章小结
习题12
F. 现代软件工程的介绍
本书适合计算机及计算机相近专业的本科生和研究生作为学习软件工程的教材,也适合软件开发人员及其他有关人员作为自学的参考书或培训教材。
G. 非软件工程的学生将来想考软件工程的研究生
我是软件工程硕士。
1.本科期间和计算机差不多。我本科是计算机专业,核心课程有数据结构、编译原理和离散数学等等。建议:一定要学好数据结构,一定要学好C++(最好是做到精通,顺便了解下MFC,现在基于windows的软件开发主要还是以C++为主,学好了对你读研究生期间有很大帮助)。
2.看你考什么学校,各学校的专业课不一样,要考就考985大学的软件学院,不要去其他学校。软件工程这个专业比较好考,可能有数据结构、现代软件工程、操作系统、计算机网络、微机原理等等, 你想考哪个学校就去查那个学校的专业课试题。
3.软件工程专业操作性很强,除了上课以外,企业实习或者参与导师的项目是必不可少的。
4.软件工程对数学没有特殊要求,倒是数学专业的博士对软件有要求,例如,给我们上课的数学院的博导经常大力鼓励我们报考他的博士,原因是他希望软件工程的硕士给他写代码好做数学实验。人手一本算法导论,倒没有那么夸张,程序的核心就是算法,这也就是为何我强调你一定要学好数据结构的原因,数据结构里的那些算法都是非常经典的算法,一定要好好掌握。
H. 下面的不再是现代软件工程师关注的问题.a.为什么计算机硬件的成本这么高
软件工程师英文是Software Engineer,是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师是从事软件开发相关工作的人员的统称。
它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。
I. CCS中RTSC指的是
实时系统组件
J. 想拜师学编程!!!
C++是C的进阶,大部分的C++基础内容都是C的核心.
C++也只是多了些面对对象程序设计的部分.
比如说C++的语句\语句结构\数组\指针等等都是延用C的内容.学不好C,C++也很困难~
C++的类\运算符重载等等都是与C基础有关的.
C是基础,C++的进阶,C#和VC是高阶,一步步来吧
C与C++的区别
C是一个结构化语言,如谭老爷子所说:它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。
所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
对语言本身而言,C是C++的子集,那么是什么样的一个子集?从上文可以看出, C实现了C++中过程化控制及其它相关功能,而在C++中的C(我称它为“C+”),相对于原来的C还有所加强,引入了重载、内联函数、异常处理等等玩艺儿,C++更是拓展了面向对象设计的内容,如类、继承、虚函数、模板和包容器类等等。
再提高一点,在C++中,数据封装、类型这些东东已不是什么新鲜事了,需要考虑的是诸如:对象粒度的选择、对象接口的设计和继承、组合与继承的使用等等问题。
所以相对于C,C++包含了更丰富的“设计”的概念,但C是C++的一个自洽子集,也具有强大的功能,同样值得学习。
几点学习建议:
1.基本概念很重要。无论学C,还是学C++,基本概念都是第一位的,也是比较困难的,但只有把握了基本概念才能把握整体脉络,才能居高临下。
2.C是C++的子集,它的基本概念和设计方法相对比较容易理解,初学者可从它入手。
3.如果要学好C++,建议初学者最好别在如VC,BCB平台下写程序,那种自动化的代码生成,花花绿绿的界面,会让你手足无措。最好先找一片空地(unix,dos),从头做起,写几个大点的程序,数个回合,再到VC,BCB下看看,你会轻松得很。在我看来,学好C/C++是成为VC,BCB高手的必由之路。
4.不要妄想速成,必须得一个byte,一个bit的去抠,尽量搞清楚每一个问题。
5.几本好书:
机械工业出版社的那套“计算机科学丛书”从C到C++,到面向对象设计,一应俱全,都TMD是经典中的经典,而且价格公道,童叟无欺。
国内也有几本好书,谭老爷子的书好倒是好,就是程序错误太多。强烈推荐清华周之英的《现代软件工程》(上、中、下),它是我所见到的国内少有的一本好书,精华的精华,要点的要点,细细品来,至少也属降龙十八掌等级的东东。
如果还是有人想学习C/C++的话, 有一些小问题我还是乐意解答的. 但是我认为学习C/C++是不重要的, 重要的是如何锻炼你的思路. 不要找一些连自己都搞不清的问题去做.
我认为虽然 "潭浩强" 同志有骗钱的嫌疑( 我手头就有一本几乎一模一样的英文书 ), 但是, 是他把这本入门手册引入中国, 使无数程序员了解了C语言, 我想他的功劳也是不可磨灭的. 在< C语言程序设计 >这本书中所有的例子都可以用做锻炼思路的基石, 他对大家的编程是很有帮助的. 我认为是值得一买的. 去思考课后的例子对你的编程很有帮助. 不要小看一个一个简单的例子, 他们是你通往成功的道路.
当你基本能够掌握了上一本书中例子后, 你就要自己找一些例子程序去看. 开始可能是看不懂, 但是只要努力就没有什么问题. 当你看过几个较大的例子之后, 你会茅塞顿开, ( 大量阅读例子程序是学习C/C++的捷径 ). 你会发现, 你的水平有了显著的提高. 你看的例子越多, 你对 Windows/DOS 了解的越多. 最好能够再看一些关于系统知识的书籍. 他会对你的编程很有帮助的.
这是我学习C/C++的一点心得, 希望对没有被我吓到而要继续学习C/C++的朋友们有一些帮助. 免得有些同志说我破坏中国软件人才的发展.
在最后我祝愿所有坚持学习C/C++的朋友们成功! 同时感谢阅读过我文章的同志们.
想学好C++,非学C不可!!!
今天我这么肯定的在这里讲这番话,是不想初学者陷入到语言越新越好的误区,本来这个题目就不是很严谨,但是我有几句话必须讲讲,为C平反!!
C++与C有什么不同呢?我们现在一步步地来分析一下
一、类,类我并不说它有什么不好,但是对于初学者,它是一个累赘。类的封装使得初学者对程序产生厌倦,感到不适和麻烦。
二、引用,引用是C++中最臭屁的东西了,最好尽量不要用它,我就是从来不用引用,除非万不得已。引用对于初学者就更容易产生混淆,不知道哪个是引用,哪个是变量。
三、函数的重载,初学者学函数的重载好像没什么坏处,但是,这会使初学者潜意识里对C语言的变量类型的重要性产生淡化,要记住C语言是对变量类型最敏感了的,变量的类型在C语言里的重要性是不言而喻的。
四、流操作符,和上面同样的道理,使得对变量类型的重要性产生淡化,况且,cin这个东东有点儿不怎么方便,有时会产生使初学者莫名其妙的结果。
五、操作符重载,典型的高级应用,初学者可能根本用不着,这个东东会让他们觉得C++很难,门槛高,看不懂…………。
六、继承,以及虚函数,典型的模仿四不象,这种狗屁东西除了看起来深奥,实用价值很低………………。我怎么可能把某个类的类型的指针去指向另一个不同类型但是是继承关系的类,来实现什么动态联编,晕…………
………………还有些东东我就不发表评论了,如:new,delete操作符等…………
七、误区:以问答形式:
问:C++是面向对象化的而C是面向过程化的?
答:第二对,第一问错,C++并非完全面向对象化,真正的面向对象化的语言恐怕只有Java才算得上。
问:C++能实现C所不能的功能吗?
答:至少我还没有发现……
问:学了C再学C++有障碍吗?比如程序设计思想……
答:至少我还没有看见谁有此症状。
问:学了C再学C++又要重头开始吗?
答:不,C++下可以实现C语言的一切功能。
问:我学完了C一定还要学C++才能编程吗?
答:完全没必要。
问:C++比C好在哪里?
答:更加符合软件工程学
问:学完了C再学C++是不是很容易?
答:那要看你是不是真正的学完了C语言,我从C到C++就一个星期的睡觉前的时间看两眼书,然后就大彻大悟。再跑到这里来发表些狗屁文章了。
最近在网上看到了很多人的学习方法,本人非常不赞同。很多人都想一口吃个胖子,要学就想学最新的,好象没有人愿意再去学那些老的,旧的编程语言了。但你们能学的懂吗?不学TC2。0等那些较早的优秀编程语言,你们能理解的了VC6。0?如果你真的能,我宁愿做你的徒弟!真是奇怪,那些最基本的语言都不懂的人,怎么可能去理解那些最新的编程语言?我学编程有三年了吧。成绩也不算多,只有一个计算机四级证和一个高程证,但我觉得我在学VC的时候还有很多的不明白的地方。没有人来教我,只能靠我自己,包括所有的成绩在内,我都是靠自己,我从不报班。学VC的半年多来,我想我已经基本入门,但依然有很多的困惑。刚开始学VC,就面临一个项目,我真的犹如笨蛋一般,四处吓摸,毫无头绪,最后勉勉强强才算做个差不多。学好VC再去学其他的高级WINDOWS编程,我想那真是轻而易举,毕竟WINDOWS的内部的很多东西都能直接被VC调用,你首先就可以对WINDOWS有个全新的认识,再去学其他的语言岂能不简单?
我的感觉是,面向过程和面向对象,其实都很重要的,在VC里也依然需要面向过程,很多东西都是一环扣一环,没有面向过程的思想,怎么可能去编程呢?建议多去看看有关WINDOWS编程的书,但多数都是比较老的书呦!我依然记得当年整天进行TC编程的辛苦,但我依然很怀念当年的劳动付出,毕竟我获得了我想获得的一切——编程思想。我觉得一个好的编程思想,绝对比你去学一门计算机语言好重要的多。要形成自己的编程风格。一个好的编程思想在你的头脑中一旦形成,学习什么语言都会很轻而易举,因为此时的你不在是简简单单的学习,而是来验证!