从事软件开发工作需要具备哪些知识?

2024-05-12 05:59

1. 从事软件开发工作需要具备哪些知识?

从事Java开发工作需要具备的知识有:
JavaEE基础知识以及Javaweb开发相关知识,包含:基础语法、核心类库、面向对象编程、异常、集合、HTML5、CSS3、JavaScript、jQuery脚本语言和异步交互技术AJAX等知识点。学完这些知识你就可以自己从零编写一个完整的网页。
学完了Javaweb开发接下来就要学习Java高级框架,Java框架可以帮助我们在编程时更省力,常用的框架有:SpringMVC、MyBatis、Spring、Linux&Redis&Nginx、Maven。
学完了框架需要自己动手做一些企业级项目实战,例如:大型微服务分布式项目实战以及微服务大型项目实战。项目实战有助于帮助你加深对理论知识的理解与运用,并增加你的工作经验,在找工作时会更容易。
希望上面内容对你有帮助!

从事软件开发工作需要具备哪些知识?

2. 从事软件开发工作必须具备那些知识

献给计算机专业的同学 
1.首先请你热爱这个专业。只有这样,你才会从抽象的理论中找到实实在在的快乐。如果 
你不热爱她,或者只因为这是个热门专业,那么极力要求你放弃这个专业,因为计算机是 
一把双刃剑,学好了你会飞黄腾达,学不好你毕业后会极其痛苦,高不成低不就,没有发 
展潜力,如同学英语专业的人到了美国一样。 
2.不要用功利眼光对待这个学科,这绝对不是点点鼠标就能挣钱的专业。不要去想做网站 
挣钱,不要想靠点击率增加广告,这个在4年前已经过时,如果你现在仍然这么想,千万别 
说出来,因为我会觉得你很土。计算级专业的成就感总是伴随着身体上的痛苦而来,肩周 
炎,颈椎病,眼睛干涩,掉头发,腰椎间盘突出,关节炎,不夸张,这么帅的我工作了两 
个月以后发现开始掉头发了。 
3.搞明白计算机“科学”与“技术”的含义。做网页,做图片,做flash,玩游戏,上网, 
听歌,录mp3,搞电影字幕,装windows,改注册表,为软件皮肤……这通通不叫计算机科学 
与技术,如果你是计算机的学生,会做以上事情,那是你应该的,不会做,也没什么丢人 
的,我们需要的不是让别人称作“高手”。 
4.明确你最终的专业方向是软件还是硬件。方向是网络?网络不是专业方向。网络是最优 
秀的软件工程师、最优秀的硬件工程师与最优秀的通信工程师的智慧结晶。如果你是软件 
方向,请你在学精一揽子数学、数据结构、算法设计、数值分析、汇编语言、操作系统、 
编译原理、数据库原理、软件工程之类课程后,仔细的听一听硬件课程,他对你有用。软 
件工程绝对不是背背就能过的课,计算机理论可能是一个人就能研究出来,软件工程是成 
千万网软件工程师几十年来失败的教训凝结成的结晶,请认真听课。不要问我应该学什么 
语言,计算机专业的人必须具备任何语言1小时上手的能力,最起码要在10分钟把"hello 
world"做出来。如果说有必须学的两种语言,那他们是c++与java,学他们不是在学语言, 
而是在学thinking in c++,thinking in java,一个是软件的基础理论,一个是面向对象 
的基础理论,从来没有人听说过“thinking in basic”。如果你说c++过时了,那么千万 
别告诉别人你的名字,因为很丢人。山科大的老师只会教给你c,不会教给你++,所以不要 
被他蒙蔽,大胆的问他++,如果他不会,干脆换老师。学硬件的同学在认真听听以上课程 
后,学精除了政治以外的其他课程。 
5.即使你学好了以上课程,我们仍然差得很远,我们只弄清学什么了,但是还不知道做什 
么。我们的课程设计太小儿科了,别对你在国外的同学说,否则会被笑话,所以我们要尽 
可能的多做设计,别一个人们闷着头做,两三个人合作一个项目,不会交流的计算机人员 
30岁以后肯定会下岗。题目呢,尽量是一些简单的底层开发,可以去国外大学网站上搜一 
搜,要自信你一定能做出来,毕竟不是什么难题,而是我们应当具备的素质。 
6.如果你对网络有意,在具备了一定动手能力后从协议或者底层硬件的角度去学习它。否 
则你是自甘从一名高贵的计算机专业人员堕落为做着沉重机械体力劳动的民工。对网络安 
全感兴趣,那么你就在学会使用各种工具的一个月后从编程的角度深入学习网络协议和操 
作系统吧!只会用工具攻击无知人员的漏洞是一种意淫的行为,如果乐此不疲,并到处叫 
嚷“黑客”,那么这种行为可以被称作“手淫”。网上呼吁中美、中日黑客战时,希望你 
安心学习课程,或者睡觉休息,或者去运动娱乐,不要给祖国抹黑。 
7.正确对待认证。绝大部分认证不是高薪的敲门砖,而是你上岗前的智商水平测试。如果 
你考过了认证,别对别人说这个认证是垃圾,请告诉别人你在学习中懂得了那些知识,如 
果你没有懂得知识,那么你是个paper,认证不是垃圾,你是垃圾。如果你连认证都没考就 
到处喊它垃圾,那么你就亲自考考试试,考过了,懂了,那么你随便;如果过了但是不懂 
,认证不是垃圾你是垃圾,如果没考过,那么看这个贴子的所有人都知道你是什么了。MC 
SE、CCNA、CIW等等都有它存在的意义,只要你有钱都值得一学,他们是最正规的知识来源 
,是经过理论、实践、时间与市场考验的产品。 
二.给非计算级专业的同学的一点建议 
1.热爱你的原专业,尤其是自然学课和基础学科,为了计算机放弃他们就如同为了10张一元 
钱扔掉了一张100元一样。 
2.计算机是具有学术性和工具性的双重属性学课。架设一做计算级专业与你本专业的桥梁 
,那对两个专业都是做出了贡献,如果你真的很牛,把计算机学的很深很好,那么你真的 
值得尊敬。 
3.再次记住做网页,做图片,做flash,玩游戏,上网,听歌,录mp3,搞电影字幕,装win 
dows,改注册表,为软件皮肤……这些不是计算机专业,也挣不到钱。不要让浮躁余功利蒙 
蔽你的双眼,毁掉你光明的前程。 
以上差不多都说完了,对学校的不满我就不说了,毕竟是一时的,虽然现在还很烂, 
但是将来会慢慢变好的,大家在痛骂学校的同时一定多给学校提出好的意见,多为学校的 
发展出力,将来谁成就了大事,别忘了回来,因为我们的孩子也许还会在这里上学,我们不 
能让他们再受苦受委屈。

3. 软件开发需要具备哪些知识

1.首先热爱这个专业。只有这样,才会从抽象的理论中找到实实在在的快乐。如果 
不热爱她,或者只因为这是个热门专业,那么极力要求放弃这个专业,因为计算机是 一把双刃剑,学好了会飞黄腾达,学不好毕业后会极其痛苦,高不成低不就,没有发 展潜力,如同学英语专业的人到了美国一样。 
2.不要用功利眼光对待这个学科,这绝对不是点点鼠标就能挣钱的专业。不要去想做网站 挣钱,不要想靠点击率增加广告,这个在4年前已经过时,如果现在仍然这么想,千万别 说出来,因为会觉得很土。计算级专业的成就感总是伴随着身体上的痛苦而来,肩周 炎,颈椎病,眼睛干涩,掉头发,腰椎间盘突出,关节炎
3.搞明白计算机“科学”与“技术”的含义。做网页,做图片,做flash,玩游戏,上网, 听歌,录mp3,搞电影字幕,装windows,改注册表,为软件皮肤……这通通不叫计算机科学 与技术,如果是计算机的学生,会做以上事情,那是应该的,不会做,也没什么丢人 的,需要的不是让别人称作“高手”。 
4.明确最终的专业方向是软件还是硬件。方向是网络?网络不是专业方向。网络是最优 秀的软件工程师、最优秀的硬件工程师与最优秀的通信工程师的智慧结晶。如果是软件 方向,请在学精一揽子数学、数据结构、算法设计、数值分析、汇编语言、操作系统、 编译原理、数据库原理、软件工程之类课程后,仔细的听一听硬件课程,软 件工程绝对不是背背就能过的课,计算机理论可能是一个人就能研究出来,软件工程是成 千万网软件工程师几十年来失败的教训凝结成的结晶,请认真听课。不要问应该学什么 语言,计算机专业的人必须具备任何语言1小时上手的能力,最起码要在10分钟把"hello world"做出来。如果说有必须学的两种语言,那他们是c++与java,学他们不是在学语言, 而是在学thinking in c++,thinking in java,一个是软件的基础理论,一个是面向对象

软件开发需要具备哪些知识

4. 想要从事软件开发应该具备什么知识

1、英语能力
主要的新的技术,文档资料都是用英语来首发的。如果要学到更好更新的知识,技巧。不懂点英语也是不行的。也不要指望有人给你翻译出来。一般来说,这些资料,看的懂的人不需要翻译,看不懂的人没有办法翻译。所以大部分的资料还是英语原文的。当然也有很多的人在翻译这些文章,但是对于这么多的资料来说,翻译过来的只是很小很小的一部分。
2、设计能力
虽然一般来说,大公司有软件构架师做应用系统技术体系构架,系统分析员做设计。但是70%-80%的小公司,可就不一定了。知道一点软件工程的知识,知道一些文档设计工具怎么用。或者知道应该有哪些设计文档。也是很有好处的。
3、语文写作能力
编程时候,大部分时间都是在写代码。但是代码的注释,各种文档的编写,测试报告,说明文档,使用手册这些都需要文字功底的。还有用email,bbs,qq这些工具与人交流的时候,如果话都说不清楚,那交流就更谈不上了。水平提高进步也就有点问题了。
4、学习能力
没有几个人是全部学会了再去工作的。这个不是很现实。目前社会也不太允许这样做。一边工作一边学习是很常见的。也许很多人是在工作之中才学会做某些事情的。很多技能也是这样会的。此外,很多新的项目的到来。很新的技术的到来都要求我们能适应新的工作环境,新的工作要求。如果没有好好的学习是很容易被一个项目浪费掉的

5. 开发一个软件需要具备什么知识?

需要掌握一门编程语言,以及这么编程语言所需要的开发工具.
常用的编程语言有C/C++语言,对应的开发工具一般是VC6,VS2008,VS2010,VS2012.
Basic语言,对应的开发工具有VB6,VB.net,其中VB.net包含在VS2008,2010,和2012里
C#,对应开发工具是VS2008,2010,2012
易语言,对应易语言,中文编程,入门很容易,还有强大的开发库支持.
asm,也就是汇编语言,这个一般用在嵌入式编程,或者逆向工程,能读懂即可.
Java,这个我不熟悉,对应eclipse开发工具.

如果对英文比较头疼,可以选择易语言入门.
C#也是比较容易的.
不过要真走编程,开发软件这条路,C/C++是必须掌握的.

开发一个软件需要具备什么知识?

6. 软件开发需要掌握哪些知识

成为一名好的程序员,不是简单地通过学几门课程就能做到的。我个人认为成为一名好的程序员的要素有: 
1。扎实的基础知识; 
2。很强的解决问题的能力; 
3。熟练的编程调试能力; 
4。创新能力; 
5。团队合作能力; 
6。持续的自学能力; 
7。好奇心 
这些能力和品质(甚至可以说是习惯)都应该从大学阶段就着手培养,并且从身边的小事开始培养。比如,很多中国的大学毕业生都缺乏编程和调试经验。学习C语 言,考试过关就算学会了。课题项目中,只要程序能够编译,运行,并且输入输出满足要求就了事了。但是,写程序的时候是否想过如何把程序写得更加精炼,高 效,高质量?对程序调试中出现的问题是否刨根问底知道原因,还是不求甚解搪塞过去算数?还有,很多中国的大学毕业生对于知识的掌握肤浅,机械,没有好奇 心,不会刨根问底。比如,学会了C++,有没有看过一个object在编译后,在汇编代码中是如何被初始化的?这个object的各个成员在内存中是如何 放的?在一个成员函数被调用的时候编译器在汇编代码中加入了哪些额外的动作?虚函数的调用是如何实现的? 这些东西恐怕在编程语言或编译原理中都没有详细提到。但是,你是否有过好奇心去知道?最后,一些中国学生的大问题就是死记硬背,没有学到某种算法技术的根 本原理,没有应变和创新的能力。比如,有个问题是如何在不用额外内存的情况下把一棵树的同一层节点都连起来。很多学生都能够回答这是一个广度遍历的问题。 但是,课本上说了广度遍历是一定要有额外数据结构辅助的(队列)。所以,不给额外内存怎么行?请看,课本上说的用队列的方法记住了,但是就是不知道为什么 要用队列。如果深刻掌握了这个队列的作用,那么这个问题是很容易的。 

举了这么多例子,我想说明的事,想成为一位好程序员(其实从事任何一个 行业都是如此),重要的是要养成一个钻研,好奇,创新,动手,合作,不满足于填鸭,不满足于考试交差,不满足于表象的一种优秀的习惯。这不是学几门课能够 一蹴而就的。当然,如果你的在校课程不能使你满足,我以及论坛上的朋友可能能够给你推荐一些书或科目。 

我觉得要提高编程的能力,有一位良师很重要。这位良师可以是在编程方面比你走在前面的同学,也可以是学校里你帮他做项目的老师,也可以是校外公司里 的老师或老板。很多东西在实际的项目中,有一位良师察看你的程序,帮你指出不足,手把手地指导你调试,会对你很有帮助。所以,当学会了书本上的基本知识以 后,可以努力寻找一些有实用性的项目,借机在项目中找到高手指导。这个项目可以在学校找,也可以到校外找。一开始不要计较报酬,甚至如果能够寻到高手指 点,白干也行。 

其次是读好的源代码。多读好的源代码就象多读好的文章,会有利于自己写作。能够读懂别人的代码也是一门硬功夫。将来很多项目中你不会重头做,而是在半途加入(一般文档又不很齐全),因此需要能够很快读懂别人代码和想法的能力。 

再次是看一些编程方面的好书。Writing Solid Code是一本很经典的书。最近出的Writing Secure Code也不错。在你熟练掌握C以后,可以学一下C++并熟悉面向对象的程序设计思路。在掌握C++的基础上可以看一下Design Patterns。 

看你要把编程学到多么专业。到一定程度,你会发现如果没有学过数据结构,算法原理,编译原理和操作系统,可能在某些方面会遇到一些障碍。所以,如果有精力和条件的话,可以同时了解这些方面的知识。 

最后,我要提醒你不要因为编程这一业余爱好而影响了你本专业的课程,除非你决定转行。对很多在校学生来说,本专业的成绩很重要,因为这个成绩可能会影响到将 来找工作,申请研究生院等等。英语也很重要。我读翻译的计算机书总觉得隔了一层,翻得不贴切。能够直接阅读英文资料更好。

7. 软件开发需要哪些知识和技能

开发过程

  软件开发过程分为5个阶段:
分析
  软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。在任何软件或系统开发的初始阶段必须先完全掌握用户需求,以期能将紧随的系统开发过程中哪些功能应该落实、采取何种规格以及设定哪些限制优先加以定位。系统工程师最终将据此完成设计方案,在此基础上对随后的程序开发、系统功能和性能的描述及限制作出定义。
设计
  软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。
编码
  软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的"源程序清单"。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
  当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。
测试
  软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。黑盒法。
维护
  维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。
  一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。
  在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。
编辑本段
开发平台

  软件开发平台源于繁琐的实践开发过程中。开发人员在实践中将常用的函数、类、抽象、接口等进行总结、封装,成为了可以重复使用的“中间件”,而随着“中间件”的成熟和通用,功能更强大、更能满足企业级客户需求的——软件开平台应运而生。
  平台是一段时间内科研成果的汇聚,也是阶段性平台期的标志,为行业进入新的研发领域提供了基础。由于平台对企业核心竞争力的提升非常明显,目前国内的管理软件市场,软件开发平台的应用已经成为一种趋势。
  由于开发环境、开发人员、功能定位、行业背景等的不同,不同品牌的平台存在较大差别。
编辑本段
开发环境

  软件开发环境在欧洲又叫集成式项目支援环境(Integrated Project Support Environment,IPSE)。 软件开发环境的主要组成成分是软件工具。人机界面是软件开发环境与用户之间的一个统一的交互式对话系统,它是软件开发环境的重要质量标志。存储各种软件工具加工所产生的软件产品或半成品(如 源代码、测试数据和各种文档资料等)的软件环境数据库是软件开发环境的核心。工具间的联系和相互理解都是通过存储在信息库中的共享数据得以实现的。
  软件开发环境数据库是面向软件工作者的知识型信息数据库,其数据对象是多元化、带有智能性质的。软件开发数据库用来支撑各种软件工具,尤其是自动设计工具、编译程序等的主动或被动的工作。
  较初级的SDE数据库一般包含通用子程序库、可重组的程序加工信息库、模块描述与接口信息库、软件测试与纠错依据信息库等;较完整的SDE数据库还应包括可行性与需求信息档案、阶段设计详细档案、测试驱动数据库、软件维护档案等。更进一步的要求是面向软件规划到实现、维护全过程的自动进行,这要求SDE数据库系统是具有智能的,其中比较基本的智能结果是软件编码的自动实现和优化、软件工程项目的多方面不同角度的自我分析与总结。这种智能结果还应主动地被重新改造、学习,以丰富SDE数据库的知识、信息和软件积累。这时候,软件开发环境在软件工程人员的恰当的外部控制或帮助下逐步向高度智能与自动化迈进。
  软件实现的根据是计算机语言。时至今日,计算机语言发展为算法语言、数据库语言、智能模拟语言等多种门类,在几十种重要的算法语言中,C&C++语言日益成为广大计算机软件工作人员的亲密伙伴,这不仅因为它功能强大、构造灵活,更在于它提供了高度结构化的语法、简单而统一的软件构造方式,使得以它为主构造的SDE数据库的基础成分——子程序库的设计与建设显得异常的方便。
  事实上,以C&C++为背景建立的SDE子程序库能为软件工作者提供比较有效、灵活、方便、友好的自动编码基础,尤其是C++的封装等特性,更适合大项目的开发管理和维护。
编辑本段
开发语言

  常见的软件开发语言:JAVA、C/C++/JSP/ASP/PB/DELPHI等
  与应用最关键的需要用到数据储,我们常说的数据库,常见数据库:MYSQL/SQLSERVER/ORACLE等。
编辑本段
专业

专业培养
  软件开发专业主要培养德智体全面发展,具有一定计算机软硬件维护、网络组建、维护管理的高级实用技术型人才。通过本专业的学习,能熟练掌握常用的计算机软件的使用、维护与技巧;在硬件方面学生应了解计算机硬件的发展,熟练掌握计算机组装的方法,能熟练运用应用软件检测计算机性能、故障的范围所在,掌握硬件故障的一般处理方法;在网络方面,学生应掌握目前流行网络的技术特点,掌握网络工程、网络维护、网络安全及应用方面的知识。能胜任一般网络工程方案的设计、组建、网络维护、及简单网站的建设与维护。
培养对象
  本专业学生主要学习计算机基础,接受从事软件应用方面的基本训练,具备应用软件解决实际问题的基本能力。
就业方向
  本专业毕业生适合的工作岗位是计算机程序设计师。适合于熟练地按照工程化的思路进行软件编制、软件测试的工作岗位,能担任各种企事业单位和各级工程建设部门、管理部门的计算机软件和硬件维护、网络的组建、维护等工作,也可从事计算机研究与应用、软件开发等方面的工作。就业范围为:计算机软件公司、具有软件开发能力的大型企业及事业单位、大专院校和科研院所。

软件开发需要哪些知识和技能

8. 软件开发需要哪些知识和技能

开发过程  软件开发过程分为5个阶段:分析  软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。在任何软件或系统开发的初始阶段必须先完全掌握用户需求,以期能将紧随的系统开发过程中哪些功能应该落实、采取何种规格以及设定哪些限制优先加以定位。系统工程师最终将据此完成设计方案,在此基础上对随后的程序开发、系统功能和性能的描述及限制作出定义。设计  软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。编码  软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的"源程序清单"。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。  当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。测试  软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。黑盒法。维护  维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。  一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。  在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。编辑本段开发平台  软件开发平台源于繁琐的实践开发过程中。开发人员在实践中将常用的函数、类、抽象、接口等进行总结、封装,成为了可以重复使用的“中间件”,而随着“中间件”的成熟和通用,功能更强大、更能满足企业级客户需求的——软件开平台应运而生。  平台是一段时间内科研成果的汇聚,也是阶段性平台期的标志,为行业进入新的研发领域提供了基础。由于平台对企业核心竞争力的提升非常明显,目前国内的管理软件市场,软件开发平台的应用已经成为一种趋势。  由于开发环境、开发人员、功能定位、行业背景等的不同,不同品牌的平台存在较大差别。编辑本段开发环境  软件开发环境在欧洲又叫集成式项目支援环境(Integrated Project Support Environment,IPSE)。 软件开发环境的主要组成成分是软件工具。人机界面是软件开发环境与用户之间的一个统一的交互式对话系统,它是软件开发环境的重要质量标志。存储各种软件工具加工所产生的软件产品或半成品(如 源代码、测试数据和各种文档资料等)的软件环境数据库是软件开发环境的核心。工具间的联系和相互理解都是通过存储在信息库中的共享数据得以实现的。  软件开发环境数据库是面向软件工作者的知识型信息数据库,其数据对象是多元化、带有智能性质的。软件开发数据库用来支撑各种软件工具,尤其是自动设计工具、编译程序等的主动或被动的工作。  较初级的SDE数据库一般包含通用子程序库、可重组的程序加工信息库、模块描述与接口信息库、软件测试与纠错依据信息库等;较完整的SDE数据库还应包括可行性与需求信息档案、阶段设计详细档案、测试驱动数据库、软件维护档案等。更进一步的要求是面向软件规划到实现、维护全过程的自动进行,这要求SDE数据库系统是具有智能的,其中比较基本的智能结果是软件编码的自动实现和优化、软件工程项目的多方面不同角度的自我分析与总结。这种智能结果还应主动地被重新改造、学习,以丰富SDE数据库的知识、信息和软件积累。这时候,软件开发环境在软件工程人员的恰当的外部控制或帮助下逐步向高度智能与自动化迈进。  软件实现的根据是计算机语言。时至今日,计算机语言发展为算法语言、数据库语言、智能模拟语言等多种门类,在几十种重要的算法语言中,C&C++语言日益成为广大计算机软件工作人员的亲密伙伴,这不仅因为它功能强大、构造灵活,更在于它提供了高度结构化的语法、简单而统一的软件构造方式,使得以它为主构造的SDE数据库的基础成分——子程序库的设计与建设显得异常的方便。  事实上,以C&C++为背景建立的SDE子程序库能为软件工作者提供比较有效、灵活、方便、友好的自动编码基础,尤其是C++的封装等特性,更适合大项目的开发管理和维护。编辑本段开发语言  常见的软件开发语言:JAVA、C/C++/JSP/ASP/PB/DELPHI等  与应用最关键的需要用到数据储,我们常说的数据库,常见数据库:MYSQL/SQLSERVER/ORACLE等。编辑本段专业专业培养  软件开发专业主要培养德智体全面发展,具有一定计算机软硬件维护、网络组建、维护管理的高级实用技术型人才。通过本专业的学习,能熟练掌握常用的计算机软件的使用、维护与技巧;在硬件方面学生应了解计算机硬件的发展,熟练掌握计算机组装的方法,能熟练运用应用软件检测计算机性能、故障的范围所在,掌握硬件故障的一般处理方法;在网络方面,学生应掌握目前流行网络的技术特点,掌握网络工程、网络维护、网络安全及应用方面的知识。能胜任一般网络工程方案的设计、组建、网络维护、及简单网站的建设与维护。培养对象  本专业学生主要学习计算机基础,接受从事软件应用方面的基本训练,具备应用软件解决实际问题的基本能力。就业方向  本专业毕业生适合的工作岗位是计算机程序设计师。适合于熟练地按照工程化的思路进行软件编制、软件测试的工作岗位,能担任各种企事业单位和各级工程建设部门、管理部门的计算机软件和硬件维护、网络的组建、维护等工作,也可从事计算机研究与应用、软件开发等方面的工作。就业范围为:计算机软件公司、具有软件开发能力的大型企业及事业单位、大专院校和科研院所。