软件工程专业分方向
方向之一:软件开发与测试方向 【培养目标】:本专业方向培养掌握计算机科学的基础理论和软件工程领域扎实的专业知识和技能以及一定的应用领域知识,掌握主流软件技术、主流平台与工具,具有较强的系统分析、架构、设计和编程能力,能够熟练运用软件工程的思想和方法设计、开发、维护和管理中大型软件系统,具有一定的项目管理知识与能力、工程实践能力及工业实践经历;具有较强的外语应用交流能力、创新意识、竞争和团队精神以及优良的职业道德,服务于全社会信息化的高素质、实用型软件专门人才。
本方向毕业生主要在软件企业、科研部门从事软件开发、软件测试及软件工程管理等工作,也可在教育单位、事业单位、技术和行政管理部门等单位从事软件相关工作。
方向之二:数字媒体技术方向 【培养目标】:本专业方向培养在数字媒体技术领域具有良好科学素养,掌握计算机科学、软件工程和数字媒体技术的基本理论和知识,受到软件工程的系统训练,掌握先进的软件开发及媒体内容制作方法、工具和技术,具有良好的美术基础、艺术修养和创作能力,能够从事动画设计、数字媒体类软件系统的分析、设计和维护等工作,并且具有项目组织、管理能力,具有团队协作精神、技术创新能力和市场开拓能力,服务于社会和地方经济建设的高素质复合型软件人才。
本方向毕业生主要在动漫、网络游戏软件开发、通信、影视、广播、信息家电、平面媒体等行业从事动漫设计以及各类数字媒体的制作、传输、产品开发及设计等。
方向之三:企业信息化软件开发与应用方向 【培养目标】:本专业方向培养具有扎实的计算机科学基础、软件工程基础、现代管理基础以及信息技术基础,受到软件工程的系统训练,能够运用先进的软件开发方法分析、规划、设计企业信息化软件系统,具有较强的企业信息化软件开发与应用能力,具有一定的实践能力和创新能力,能够在国家各级部门、工商企业、金融机构、科研单位、网络公司等从事企业信息化系统的分析、设计、实施、评价等信息管理工作的高素质复合型软件人才。
...
软件工程的开发方法有哪些呢?
面向对象与结构化方法的比较研究 xxx (xxxxxxxxxx) 摘要:随着计算机的硬件及通讯技术的发展,计算环境发生了深刻的变化。
计算环境的变迁和不断增长的软件需求对程序设计方法学提出了一个又一个的挑战,程序设计方 法学也在挑战中前进。
首先回顾软件工程程序设计方法的发展历史,指出结构化和面向对象是软件工程程序设计方法中的2个核心思想,分析、探讨了结构化程序设 计方法与面向对象的方法的区别,并就如何在实践中正确应用给出了一些建议。
关键字:程序设计方法; 面向对象; 结构化1引言:随着计算机硬件及通讯技术的发展,计算机环境发生了深刻的变化,计算机环境的变迁和不断增长的软件需求对程序设计方法提出了一个有一个挑战,程序设计方法也在挑战中前进。
计算机发展经历了3个主要阶段:大型主机,客户/服务器以及网络计算。
与此相对应,软件工程的设计方法的发展可分为4代。
1.1第一代面向过程的程序设计方法 面向软件系统的信息流程图,采用面向过程的程序设计语言或面向进程的程序设计语言,实现软件设计流程图所描述的信息处理过程的功能,称为面向过程的程序设计方法或面向进程的程序设计方法。
这种方法适用于设计小规模专业软件包,软件的通用性、重用性和扩展性差。
1.2 第二代面向模块的程序设计方法 结构上将软件系统划分为若干功能模块或实体,分别采用模块化程序设计语言,如:pascal 编程实现,再由各模块联结,组合成相应结构的软件系统,称为面向模块的程序设计方法或模块化程序设计方法,也称为面向实体的程序设计方法。
这种方法适用于设计模块化、结构化程序,可提高软件系统的模块化和结构化水平,设计和组装较大规模的软件系统,有助于提高软件的通用性、重用性和扩展性。
1.3 第三代面向对象的程序设计方法 所谓对象是指具有一定结构、属性和功能的实体,采用对象和对象类,以及对象之间的相互通信的消息,描述客观世界中的各种事物及其相互关系,建立面向对象和消息的具有层次结构的世界模型。
面向对象的程序设计方法基于上述面向对象世界模型。
采用面向对象的程序设计语言,如c++、smalltalk 等编程实现。
这种方法具有通用性,适用于广泛应用领域的大规模软件系统设计。
有助于提高软件的重用性、扩展性和移植性,提高编程效率和程序自动化水平。
1.4 第四代面向智体的程序设计方法 面向智体的程序设计方法是面向对象的程序设计方法的发展。
在程序设计方法的发展演变历程中,结构化和面向对象思想是最核心的思想方法。
结构思想体现了人们抽象思维和复杂问题分解的基本原则与要求,而面向对象则反映了客观世界由对象组成这一本质特点。
2 软件工程程序设计方法的出发点 从程序结构来看,每个子问题形成整个程序结构的一个构件,这个构件称为一个模块。
程序的算法结构,就是一个由模块连接成的层次结构。
在软件工程中,把这种设计方法归结为软件工程设计方法学。
该方法学的基本表述为:自顶向下,逐步求精,模块化层次结构设计。
程序设计方法的本质是问题的抽象与分解,各种程序设计方法的区别在于其分解的因子不一样,处理数据对象及相关操作的方法不一样,也就是出发点不一样。
3 结构化程序设计方法 结构化程序设计方法包含以下内容。
3.1 结构化技术 结构化技术包括结构化分析(S A )、结构化设计(SD )、结构化程序设计(SP )3 方面内容,对应于软件开发时期的分析、设计和编码阶段。
3.2 结构化分析 结构化分析是70 年代中期由DeMarco 和Yourdon等倡导的一种基于功能分解的分析方法,即使用数据流程图、决策表、决策树等工具,来建立一种符合用户需求的结构化说明书。
3.3 结构化设计 结构化设计是一种面向数据流的设计方法,也就是采用最佳的可能方法设计系统的各个组成部分以及各成分之间的内部联系的技术,目的在于提出满足系统需求的最佳软件的结构,完成软件层次图或软件结构图。
4 面向对象的方法 面向对象技术:面向对象技术包括面向对象分析(O O A )、面向对象设计(O O D )及面向对象程序设计(O O P )3 部分内容。
O O P 是在结构化程序设计的基础上,于8 0 年代初涌现的一种程序设计方法,但其真正显示力量和被产业界所重视还是最近几年的事。
封装是整个O O P 方法的基础,主要用于在数据段外围构造保护层,以限制外界变化的影响,所有的数据访问都由保护层内的过程间接处理。
应用程序员不必再按照将程序设计语言逐句拼装的方式来构造整个软件,只需组合、重用由系统程序员开发、可供他人用来装配的软件集成块即可。
例如,Visual Basic(VB)是一种面向对象的程序设计语言,与传统DOS 下的Basic 或Quick Basic 最大的差别在于它运用了面向对象的概念。
V B 建立了一个事件驱动的环境,供用户直接调用。
程序设计人员只要专心数据的运算处理,其余诸如W i n d o w s 应用程序下所见的滚动条、按钮、下拉式菜单和对话框等,都已经有对象供用户进行调用,而且每个对象又都有许多事件、属性和方法,供用户填入适当值或程序码,从而形成一个应用程序。
5 结构化程序设计方法与面向对象的程序...
软件工程的开发方法
软件工程的方法有很多方面的意义。
包括专案管理,分析,设计,程序的编写,测试和质量控制。
软件设计方法可以区别为重量级的方法和轻量级的方法。
重量级的方法中产生大量的正式文档。
著名的重量级开发方法包括ISO9000,CMM,和统一软件开发过程(RUP)。
轻量级的开发过过程没有对大量正式文档的要求。
著名的轻量级开发方法包括极限编程(XP)和敏捷流程(AgileProcesses)。
软件工程的发展方向有哪些方面
目前软件工程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等系统的应用和维护能力。
就业方向:企业、政府、社区、各类学校等系统管理
软件设计的基本步骤是什么
软件开发是指一个软件项目的开发,如市场调查,需求分析,可行性分析,初步设计,详细设计,形成文档,建立初步模型,编写详细代码,测试修改,发布等。
软件是怎么样开发出来的 第一个步骤是市场调研,技术和市场要结合才能体现最大价值。
第二个步骤是需求分析,这个阶段需要出三样东西,用户视图,数据词典和用户操作手 册。
用户视图 是该软件用户(包括终端用户和管理用户)所能看到的页面样式,这里面包含了 很多操作方面的流程和条件。
数据词典 是指明数据逻辑关系并加以整理的东东,完成了数据词典,数据库的设计就完成了一半多。
用户操作手册是指明了操作流程的说明书。
请注意,用户操作流程和用户视图是由需求决定的,因此应该在软件设计之前完成,完成这些,就为程序研发提供了约束和准绳,很遗憾太多公司都不是这样做的,因果颠倒,顺序不分,开发工作和实际需求往往因此产生隔阂脱节的现象。
需求分析,除了以上工作,笔者以为作为项目设计者应当完整的做出项目的性能需求说明 书,因为往往性能需求只有懂技术的人才可能理解,这就需要技术专家和需求方(客户或公司市场部门)能够有真正的沟通和了解。
第三个步骤是概要设计,将系统功能模块初步划分,并给出合理的研发流程和资源要求。
作为快速原型设计方法,完成概要设计就可以进入编码阶段了,通常采用这种方法是因为涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是 并不是说详细设计说明书不重要,事实上快速原型法在完成原型代码后,根据评测结果和 经验教训的总结,还要重新进行详细设计的步骤。
第四个步骤是详细设计,这是考验技术专家设计思维的重要关卡,详细设计说明书应当把 具体的模块以最'干净'的方式(黑箱结构)提供给编码者,使得系统整体模块化达到最 大;一份好的详细设计说明书,可以使编码的复杂性减低到最低,实际上,严格的讲详细 设计说明书应当把每个函数的每个参数的定义都精精细细的提供出来,从需求分析到概要 设计到完成详细设计说明书,一个软件项目就应当说完成了一半了。
换言之,一个大型软 件系统在完成了一半的时候,其实还没有开始一行代码工作。
那些把作软件的程序员简单理解为写代码的,就从根子上犯了错误了。
第五个步骤是编码,在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/ 2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提 高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都 出现过。
编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永 远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候 吗?从来没有! 第六个步骤是测试 测试有很多种: 按照测试执行方,可以分为内部测试和外部测试 按照测试范围,可以分为模块测试和整体联调 按照测试条件,可以分为正常操作情况测试和异常情况测试 按照测试的输入范围,可以分为全覆盖测试和抽样测试 以上都很好理解,不再解释。
总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外部测试都是正常的,因为永远都会又不可预料的问题存在。
完成测试后,完成验收并完成最后的一些帮助文档,整体项目才算告一段落,当然日后少不了升级,修补等等工作,只要不是想通过一锤子买卖骗钱,就要不停的跟踪软件的运营 状况并持续修补升级,直到这个软件被彻底淘汰为止。
什么是软件开发的核心问题 按照软件工程鼻祖,《人月神话》作者 Brooks 在“没有银弹——软件工程中的根本和次要问题”一章中阐述的思想,软件开发的核心问题就是如何从概念上对一个复杂的业务系统进行建模。
这个建模是含义广泛的,不仅仅包括对象建模,还包括数据建模、算法建模等等一系列的内容。
总而言之是要先找到解决复杂问题的突破口(先要搞明白需要做什么,然后再考虑如何做)。
至于采用什么表示方法(简单文本、UML 图、E-R 图)、采用什么高级语言、是否一定要用面向对象、使用什么开发工具都是次要的问题。
软件开发方法 软件开发方法(Software Development Method)是指软件开发过程所遵循的办法和步骤。
软件开发活动的目的是有效地得到一些工作产物,也就是一个运行的系统及其支持文档,并且满足有关的质量要求。
软件开发是一种非常复杂的脑力劳动,所以经常更多讨论的是软件开发方法学,指的是规则、方法和工具的集成,既支持开发,也支持以后的演变过程(交付运行后,系统还会变化,或是为了改错,或是为了功能的增减)。
关于组成软件开发和系统演化的活动有着各种模型(参见软件生存周期,软件开发模型,软件过程),但是典型地都包含了以下的过程或活动:分析、设计、实现、确认(测试验收)、演化(维护)。
有些软件开发方法是专门针对某一开发阶段的,属于局部性的软件开发方法。
特别是软件开发...
关于软件工程学习的一些问题~
1、软件工程可能有不同的分法,常见的叫法有开发、嵌入式、数据库、测试几个。
但是这些叫法放在一起也不伦不类的。
所以也不用管那么多了。
应用开发方向:一般是企业级应用的信息管理系统,比如酒店管理系统、企业商务网站、ERP等软件。
掌握常用Java、.net、JSP、PHP等一个或多个即可。
嵌入式方向:一般是软件硬件相结合的产品开发,多数是智能设备。
如手机、电气产品智能化功能、汽车、航天等领域应用的软件。
常用c、C++、Java、arm、操作系统等技术。
数据库方向:只要全面掌握数据库原理、DBA技术、并使用纯熟即可(找本DBA宝典之类书籍学习即可)。
软件测试:掌握软件测试技术、方法及具备分析问题的能力,会使用测试工具并会对结果进行分析。
2、c# asp.net都是技术,就如同十八般兵器,只要内功深厚哪个兵器都能用,只要有一个、两个擅长的就行。
精力允许的话就多学学也行,技多不压身,艺高人胆大么。
与应用开发方向比较近。
3、企业用人的标准不一样,新的毕业生一般看你对所要求的技术(比如Java)掌握扎实程度、逻辑思维能力、其他还有沟通交流、团队协作、适应企业标准规范的能力等。
这个很难描述得具体,萝卜咸菜各有所爱,主要是主管决策负责人的印象及判断。
4、“接项目”根据描述有两种可能,一是让你直接承接新项目,这种可能性对于毕业新人不大;二是能够不经内部培训期直接进入到目前进行中的项目中接受并完成任务。
如果进入较正规的公司会有开发指导文档,通过学习+前辈的指点+已有的扎实基础,应该不是问题。
如果进入小公司没有文档指导的话,只能通过前辈的指导进行,个人的沟通协作待人处事能力必须要强些。
5、精力有限的话,去些综合类门户看看就行如csdn、itpub之类的;关键是平时的积累和偶遇,遇到或听到新的技术方法就去baidu、google一下吧。
这些事工作之后做更直接有效,因为是为了解决问题才做的,有针对性。
新技术太多了,没有目的的学习也就没有意义,因为学不致用。
上学期间还是多练技术的深度或广度吧。
6、游戏开发也是应用开发。
但是它涉及的更多3D、Flash、游戏引擎开发等技术。
其实有些小开发游戏也不复杂,关键是你所创意设计开发的游戏可玩性,只要玩的人多就是好游戏!能够成功开发出一款游戏对于你的技术提升、能力提升都很大,对于求职与走入这个行列肯定有很大帮助。
7、游戏产业目前还是很有钱途的。
也会一直发展下去,未来会不会一直是热门,无法预测。
但是只要做的好,在哪个领域都能获得成功,都能有前途。
8、数学是所有学科的基础,更是锻炼逻辑思维的学科。
只要具备良好的逻辑思维能力,基本的数学基础即可。
除非进入高精尖领域的软件研发建模等工作,否则的话,一般开发工作已经绰绰有余了。
做题没有任何帮助,锻炼自己分析问题能力、系统化思维能力才是王道。
希望以上对你能有些帮助,也祝你学有所成!
转载请注明出处51数据库 » 软件工程的方法只适用于大型软件的开发对小