软件开发都有哪些

2024-05-13 03:14

1. 软件开发都有哪些

软件开发是一项包括计划、分析、设计、编码和测试、维护系统工程。
一、计划
对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源(如计算机硬件、系统软件、人力等)成本,可取得的效益和开发进度作出估计,制订完成开发任务的实施计划。
二、分析
软件需求分析就是对开发什么样的软件的一个系统的分析与设想。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。
三、设计
软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。
四、编码
软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的“源程序清单”。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
五、测试
软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据与功能和预期的输出结果组成了测试用例)。
六、维护
维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。

扩展资料:软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。
软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。 
参考资料来源:百度百科-软件开发

软件开发都有哪些

2. 软件开发是做什么的?

软件开发需要学:HTML,软件开发步骤,互联网请求响应过程(HTTP协议),基本算法(数据结构),基本编程知识。 

然后就是不同工种的学习了,先说前端工程师。前端工程师主要是对用户看到的界面上的内容进行调整,开发。主要包括的内容有:HTML,CSS,JavaScrit,Jquery。其他的一些内容都是以这几项为基础而衍生出来的。
接下来是后端工程师的职业知识,后端工程师所作的事是用户看不到的,比如说进入网站你输入用户名,密码登陆,这个登录的功能就需要后端工程师去完成。主要涉及的知识有:编程语言(如Java,C#,PHP,Python等,这里选择一种即可),数据结构,数据库,服务器。

知识储备完毕,可以做一个简单的小软件去系统的应用一下自己所学的内容。比如做一个简单的学生管理系统,图书管理系统。最后可以去寻找相关的开发岗位了,由于没有实际的项目开发经验,可以先找一些工资少一点的。等工作一两年有了项目经验,这个时候你就有资本去谋求高薪水的工作了。

软件开发适合的工作岗位是计算机程序设计师。适合于熟练地按照工程化的思路进行软件编制、软件测试的工作岗位,能担任各种企事业单位和各级工程建设部门、管理部门的计算机软件和硬件维护、网络的组建、维护等工作,也可从事计算机研究与应用、软件开发等方面的工作。

3. 什么是软件?软件开发是做什么的呢?

一般把软件分为两大类:应用软件和系统软件。 
一般意义上的软件开发主要针对应用软件,包括游戏,办公,建筑,工业等行业,系统软件则是大公司开发,比如微软的xp系统就是。
一、应用软件 

应用软件是专门为某一应用目的而编制的软件,较常见的如: 
1、文字处理软件 
用于输入、存贮、修改、编辑、打印文字材料等,例如WORD、WPS等。 
2、信息管理软件 
用于输入、存贮、修改、检索各种信息,例如工资管理软件、人事管理软件、仓库管理软件、计划管理软件等。这种软件发展到一定水平后,各个单项的软件相互连系起来,计算机和管理人员组成一个和谐的整体,各种信息在其中合理地流动,形成一个完整、高效的管理信息系统,简称MIS。 
3、辅助设计软件 
用于高效地绘制、修改工程图纸,进行设计中的常规计算,帮助人寻求好设计方案。 
4、实时控制软件 
用于随时搜集生产装置、飞行器等的运行状态信息,以此为依据按预定的方案实施自动或半自动控制,安全、准确地完成任务。 


二、系统软件 

各种应用软件,虽然完成的工作各不相同,但它们都需要一些共同的基础操作,例如都要从输入设备取得数据,向输出设备送出数据,向外存写数据,从外存读数据,对数据的常规管理,等等。这些基础工作也要由一系列指令来完成。人们把这些指令集中组织在一起,形成专门的软件,用来支持应用软件的运行,这种软件称为系统软件。 
系统软件在为应用软件提供上述基本功能的同时,也进行着对硬件的管理,使在一台计算机上同时或先后运行的不同应用软件有条不紊地合用硬件设备。例如,两个应用软件都要向硬盘存入和修改数据,如果没有一个协调管理机构来为它们划定区域的话,必然形成互相破坏对方数据的局面。 
有代表性的系统软件有: 
1、操作系统 
管理计算机的硬件设备,使应用软件能方便、高效地使用这些设备。在微机上常见的有:DOS、WINDOWS、UNIX、OS/2等 
2、数据库管理系统 
有组织地、动态地存贮大量数据,使人们能方便、高效地使用这些数据。现在比较流行的数据库有FoxPro、DB-2、Access、SQL-server等 
3、编译软件 
CPU执行每一条指令都只完成一项十分简单的操作,一个系统软件或应用软件,要由成千上万甚至上亿条指令组合而成。直接用基本指令来编写软件,是一件极其繁重而艰难的工作。为了提高效率,人们规定一套新的指令,称为高级语言,其中每一条指令完成一项操作,这种操作相对于软件总的功能而言是简单而基本的,而相对于CPU的一眇操作而言又是复杂的。 
用这种高级语言来编写程序(称为源程序)就象用预制板代替砖块来造房子,效率要高得多。但CPU并不能直接执行这些新的指令,需要编写一个软件,专门用来将源程序中的每条指令翻译成一系列CPU能接受的基本指令(也称机器语言)使源程序转化成能在计算机上运行的程序。完成这种翻译的软件称为高级语言编译软件,通常把它们归入系统软件。目前常用的高级语言有VB、C++、JAVA等,它们各有特点,分别适用于编写某一类型的程序,它们都有各自的编译软件。

什么是软件?软件开发是做什么的呢?

4. 软件开发一般包括哪些?

中国现在软件领域主流主要是这几大领域的开发 
1系统应用和硬件应用 
2WEB网站 
3行业应用,包括C/S模式,也包括B/S模式 

我为什么把系统应用和硬件应用放在了一起,这是因为这两者都是比较在深层次上开发。 
系统应用,如防火墙、杀毒、杀木马、BT下载等等,我的机器上有一大半都是这种软件。 
其实游戏也算一类系统应用,为什么?因为游戏开发,是网络技术、集群技术、安全技术、图形计算技术、人工智能技术有深度综合考验的软件,对CPU、内存、显卡、网络性能有严重考验的应用。 

硬件应用:在工业控制、交通、汽车、医疗、 
数码相机、数码摄像机、摄像头、MP3、DVD、数字电视、洗衣机、冰箱、空调、微波炉、电饭煲、U盘、手机底层 
这些都是属于硬件应用范畴 

而开发这类应用,C是主流。为什么C是主流?因为各种底层驱动、内核都是用C编写的,而且与硬件应用编程,往往是用对应该硬件的汇编,C是最接近汇编并且和汇编有良好交互的开发语言,当然非C莫属 

看看,C的应用领域有多广。 
再说,现在的视频播放、IPTV、3G应用,几乎也都是C大显身手的领域。假如你想投身这些行业,C是必选。 

接下来,咱们看看WEB网站领域。 
现在以及未来,WEB一定会越来越大行其道。这是毫无疑问的。现在主流WEB网站开发,主要是JSP、ASP、ASPX、PHP、Ruby、Python、 Perl这几类,Python、Perl这两类会少一些。所以说,假如你想投身于WEB网站的开发,JSP、ASP、ASPX、PHP这几类必须都学会。为什么要学习这么多,因为现在开发网站,用这几类技术公司都差不多一样多,假如你想找工作或跳槽,不抵会碰到哪个开发语言。其实,这几类服务器端语言都挺好学。一个WEB应用,不外乎是服务器端语言 数据库访问 HTML CSS JS,数据库访问是考验你对SQL的学习,WEB网站,主流是MYSQL、 ORACLE、SQLSERVER这三类,HTML CSS JS,无论你用什么服务器端语言都是这些公用的。很多同学问怎么能快速学习呢?我给他们的建议是:下载一个完整网站的源代码,看看里面用到了什么函数。很多网站的功能都是很雷同的,你会很快提高你的自信,对WEB网站开发不会感到茫然无措。其实技术没什么难的。假如你一上来就学习设计模式、OO、某个框架,反射技术,你会越来越陷入到技术深渊而惧怕。其实在实际商业开发中也用不到 

行业领域,现在既有B/S的,也有C/S的。 
现在B/S的行业应用,主流开发是JAVA和ASPX,上面咱们都讲了 
C/S的,就又分了两个分支来说。有的公司跟风,用了.net C#或VB.net。大部分则现在还停留在win32的时代,用PB、DELPHI的公司最多。中国大部分公司都是开发行业应用软件,所以这类程序员最多。 

我曾经给同学们回信,也曾这么写过。但是又有不少同学回信,说你说了这么多技术,怎么学啊。我现在也不知道能进入什么公司,不至于我,C、PB、DELPHI、PHP、JAVA、MYSQL、ORACLE、SQLSERVER都学吧? 

这样吧,经过我个人的一些从业经历,笔者给出的拙见是: 
C、JAVA你肯定是必学的,而且现在大学也几乎开了这两门课 
数据库方面嘛,ORACLE难一些,你可以学习SQLSERVER,因为MYSQL的使用和SQLSERVER很相似 
WEB开发吗,你学会了JAVA,PHP很好学。PHP比JAVA轻易多了。 
在行业应用开发上,你可以学习DELPHI,PB现在用的人少了些。 

当然,现在有一个痛苦,就是ASPX和C#学不学?因为用这两种的公司也非常多。学吧,上面那些学习项目已经够多,不学吧,这类公司也挺多。假如你觉得你进入网站公司的综合能力不足,那么就不要学习JAVA和PHP,找工作你就去做行业应用的公司,那么你就需要学习ASPX和C#。 

最后总结: 
基础学习:C、JAVA、SQLSERVER 
走系统应用和硬件应用:C 
走网站开发:PHP 
走行业应用:DELPHI、ASPX、C# 

从中国未来来看,赚钱多的还是会集中在系统应用和硬件应用上,网站开发最近的薪资不错,但未来会下降,行业应用则薪资上不到哪里去。假如各位同学不怕艰难,不怕一条道走到黑,专心学习C就OK,只要你学精,很好找工作的。假如你怕专心学后找不到工作,然后又什么都涉猎,那么你找不到工作的可能性更大 

网友回复:支持一个
网友回复:一楼说得很具体了
网友回复: 一楼说的确实很具体了,谢谢啊!要是能推荐几本书就更好了啊
网友回复:看看《代码大全》吧
网友回复:强烈建议楼主一定学好C基础,有了好的基础学JAVA,.NET都很轻易 
我是一开始接触JAVA,现在因为一些工作原因回过头来学C,个人的真实感觉是其实学好了C学别的语言都应该很轻易了,所以基础一定要打好!

5. 软件开发需要学什么?

1、JavaScript是重点也是难点
Web开发分为前端开发和后端开发两大部分,前端开发需要学习三个基本知识,包括Html5、CSS3和JavaScript,其中JavaScript是重点也是难点。后端开发可以采用众多开发语言,其中比较流行的编程语言包括Java、PHP和Python。

2、Java或者kotlin语言
纵观现在的手机平台,已经可以说是安卓和苹果的天下了,所以Android开发、iOS开发成为了主力,小程序的爆火和流行也有了各种小程序开发。其中Android开发需要学习Java或者kotlin语言,而iOS开发需要学习OC或者Swift,小程序开发则需要掌握其对应的开发语言。

3、从C语言开始学起
嵌入式开发领域包括大量的可穿戴设备开发等等。嵌入式开发涉及到三方面内容,分别是设备(各种传感器等)、网络和平台,编程语言通常可以从C语言开始学起。

最后,不论从事哪个领域的开发,都应该具备扎实的计算机基础知识,包括操作系统(体系结构)、计算机网络、数据库等。想走捷径可以考虑考虑上培训班。其实,现在很多职业培训班已经具备比较成熟的教学方法,有经验实力的知名培训机构培训出来的学生更能受用人单位的认可。

软件开发需要学什么?

6. 软件开发过程是怎样的?

软件研发是一个复杂的过程,一般包括「立项审批-项目计划-需求-开发-测试-部署-试运行-验收上线」,需要协调管理者、产品、研发、测试、运维、设计等多个角色和部门,使之目标一致、高效协同,进行合理的资源分派、把控项目进度、控制风险,保障产品交付质量。 ONES 针对研发管理的需求和痛点,打通研发管理全流程和复杂场景,为企业提供全生命周期的研发管理工具。

7. 软件开发后台主要做什么

软件开发后台(后端程序员)要跟数据库打交道,做数据的处理问题。
根据正在处理的应用程序的大小和范围,后台开发人员要做的事情有很大的不同。但总体来说工作于都是对应用程序中的业务逻辑,以及从前端提取和检索数据。
在Web开发世界中,后端开发人员从事于构建他们正在工作的应用程序背后的实际逻辑。
例如:前端开发人员在应用程序中创建一个界面,上面有一个按钮,按下按钮来获取客户的数据。后端开发人员写可使得按钮工作的代码,通过指出从数据库中提取哪些数据并将其传回到前端(并最终显示在那里)。
后端开发人员也会大量参与系统架构,决定如何组织系统的逻辑,以便能够正常维护和运行。需要参与构建框架或系统架构,以便于更容易编写程序。后端开发人员比前端开发人员花费更多的时间在实现算法和解决问题上。
/iknow-pic.cdn.bcebos.com/91529822720e0cf3d2cf561f0446f21fbe09aa1d"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/91529822720e0cf3d2cf561f0446f21fbe09aa1d?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/91529822720e0cf3d2cf561f0446f21fbe09aa1d"/>
扩展资料
软件后台开发的主要技术和技能举例(以java为例):
1、后台框架部分,SpringMVC
SpringMVC基于Java实现了WebMVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦;
2、数据持久层方面,MyBatis
MyBatis持久层框架支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO为数据库中的记录。
3、数据库层技术,jdbc
JDBC(java数据库连接)用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
4、缓存技术,redis
Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
5、搜索引擎技术,elasticsearch
ElasticSearch基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。

软件开发后台主要做什么

8. 什么是计算机软件开发

软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。 软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。