电脑系统怎么开发-个人电脑系统开发流程表
1.软件开发都有哪些
2.求软件开发流程详解
3.嵌入式系统开发现在用的是什么平台?
4.如何制作开发一个软件?
软件开发都有哪些
软件开发是一项包括、分析、设计、编码和测试、维护系统工程。
一、
对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的(如计算机硬件、系统软件、人力等)成本,可取得的效益和开发进度作出估计,制订完成开发任务的实施。
二、分析
软件需求分析就是对开发什么样的软件的一个系统的分析与设想。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。
三、设计
软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。
四、编码
软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的“源程序清单”。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
五、测试
软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据与功能和预期的输出结果组成了测试用例)。
六、维护
维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。
扩展资料:
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常用软件开发工具可以进行开发。
软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。?
百度百科-软件开发
求软件开发流程详解
如是个一键关机这样的东西,你其实什么都不需要知道,windows自带这样的设置,你弄个快捷方式在桌面就可以了。就算你要自己写,当你知道需要用什么软件的时候你已经会写了,当你连用什么软件都不知道的时候,给你软件你也不会写。
所以,如真的想弄这些东西,先把一门计算机语言学通,比如C,C++什么的,计算机语言这东西属于一通百通的,以后遇到没接触过的语言就能比较快的掌握了,另外,汇编语言和数据结构是需要学的,汇编有个软件较未来汇编,不过学汇编其实不需要用专门的软件,你直接进DOS就能做。
至于再难一点,可能,可能就要看下WINDOWS下驱动的写法了,这就是很底层的东西,反正我大三了,这些东西都还没接触过,当然我是学电信的,不是计算机的。
个人的感慨哈,就是汇编和数据结构一定要弄明白,虽然电脑上8088和51单片机和其他诸如DSP用的汇编是各不相同的,但真的,不会汇编有时候真的不好意思说自己会编程,我有个师兄,用了2年的时间就做一件事,就是把C语言写的一段程序用汇编压缩,就是C语言你链接成为应用程序,比起用汇编链接成的应用程序,功能是一样的,但前者代码比后者要长1倍多,到了这个地步,代码长一倍,基本上也就是说效率低一半了。对于C语言,我们还是比较崇拜的,估计其他语言,未必就比C更有优势吧。所以,汇编才是王道……(不过又有人说,C语言的冗余度只有10%~20%,不过我师兄的有的确是一倍不止)
而数据结构嘛,这更是必须得会的东西,关系到编程的效率以及其他很多方面的事情,据说,仅仅是据说,华为面试的时候,会问很多数据结构的问题。这也体现了这个东西的重要性。数据结构是和语言联系在一起的,没必要用专门的软件,并且未必有&……
最入门的,有个已经寿终正寝的Qbasic,我是学过的,用它来做一键关机估计也够了,并且它足够简单,我是初中时候学的,不过这语言已经绝迹了估计……
求软件开发流程详解
嵌入式系统开发现在用的是什么平台?
嵌入式系统开发现在用的是什么平台?
常见的嵌入式系统开发,分硬体和软体平台。硬体可以分为嵌入式CPU,比如微控制器,ARM, MIPS, powerPC, X86,软体一般跑嵌入式作业系统,比如linux, vxwork或QNX ,ucosII,也可以跑裸机,开发工具可以选用keil ,ADS等。还有DSP和FPGA,也可以属于嵌入式范畴,不同厂商有不同的产品线,开发平台也有由于厂商不同的而有不同的开发工具。
嵌入式系统开发难点有哪些 嵌入式系统开发存在的问题1、对目标系统的观察和控制
由于嵌入式硬体系统千差万别,软体模组和系统也多种多样,要使系统能正常工作,软体开发者必须要对目标系统具有完全的观察和控制能力,例如硬体的各种暂存器、记忆体空间,作业系统的讯号量、讯息伫列、任务、堆叠等。
2、涉及多种 CPU及多种 OS
嵌入式的CPU或处理器可谓多种多样,这包括了 Pentium、MIPS、PPC、ARM,XScale 等,而且应用都很广,在其上执行的作业系统也有不少,如 VxWorks、Linux、 Nuclears、WinCE等等,即使在一个公司之内,也会同时使用好几种处理器,甚至几种嵌入式作业系统。如果需要同时除错多种型别的板子,每个板子上又执行着多个任务或程序,那复杂性是可想而知的。
3、开发工具种类繁多
不仅各种作业系统有各自的开发工具,在同一系统下开发的不同阶段也有不同的开发工具。如在使用者的目标板开发初期,需要硬体模拟器来除错硬体系统和基本的驱动程式,在除错应用程式阶段可以使用互动式的开发环境进行软体除错,在测试阶段需要一些专门的测试工具软体进行功能和效能的测试,在生产阶段需要固化程式及出厂检测等等。一般每一种工具都要从不同的供应商处购买,都要单独去学习和掌握,这无疑增加了整个公司的支出和管理的难度。
此外,嵌入式系统变化更新比较快,对开发时间要求比较紧,尤其是消费类产品更是如此,如果有一套功能强大的嵌入式软体整合开发工具可以满足嵌入式软体开发各个阶段的需求,同时又使用方便,介面友好,那是最理想不过了。
有的嵌入式系统的处理能力和储存能力较弱,不能在它上面安装开发软体;有的嵌入式系统的处理器结构特殊,没有可以在上面执行的开发工具。所以,在开发嵌入式系统时,通常需要取交叉开发的方式进行。
如何理解嵌入式系统开发平台硬体设计平台
硬体平台由基本系统(包括CPU和储存器)加上介面电路模组构成。基本系统为作业系统核心提供一个最小的除错和执行环境,介面模组包括目前应用较为广泛的多种硬体介面电路,如LCD液晶显示模组、触控式萤幕模组、CF卡模组、USB模组、乙太网模组、IC卡模组等,可以方便地根据开发者的需求进行选择使用。
目前,硬体平台基于摩托罗拉公司的DragonBall EZ328(16MHz)微处理器,主要配置包括8MB EDO DRAM、4MB FLASH、320×240画素单色LCD、6个输入按键、一路RS232介面、一路10M乙太网介面等。EZ328是一款得到了广泛应用的32位嵌入式微处理器,内部集成了大量的功能模组,并且具有较强的扩充套件能力。EZ328取消了记忆体管理单元(MMU),降低了硬体成本及执行功耗。EZ328所支援的引导模式也极大地方便了系统的除错。在我们的开发板上,只要驱动EZ328的EMUBRK引脚为低电平并执行系统复位,就可使EZ328进入引导模式,其内建的载入程式就会开始执行,初始化晶片上整合的UART控制器并准备接收资料。这样开发者就可以通过UART控制器写暂存器来初始化开发板,然后下载程式到开发板的RAM和FLASH中执行除错。同时,硬体平台CPU可方便地升级到VZ328(主频33MHz,EZ328的后续产品)。而且,在EZ328硬体平台上开发的软体几乎不需要修改就能使用在VZ328和ColdFire系列微处理器上,具有很广的适用面。ColdFire微处理器主要应用于网际网路装置、LAN电话技术、低端网路控制、工业控制、影象和储存等等。软体开发平台
软体平台由嵌入式Linux作业系统、嵌入式图形使用者介面(GUI)、GNU交叉编译除错工具组成。其中嵌入式Linux作业系统包括嵌入式Linux核心,ROM/RAM档案系统。选用Linux是因为Linux高度模组化,容易定制,具有很高的可移植性。
软体平台所实现的嵌入式Linux系统核心是在mCLinux系统的基础上移植而来的。它是专门面向没有MMU的CPU的Linux作业系统,并且专为嵌入式系统做了许多小型化的工作,得到了广泛的应用,新型的蓝芽网路装置也用了mClinux作业系统。mCLinux作为一个高度优化的、程式码紧凑的嵌入式Linux,虽然体积很小,但仍然保留了Linux的大多数优点:稳定、良好的移植性,优秀的网路功能,完备的对各种档案系统的支援,以及标准丰富的API。在我们的开发平台上,移植的作业系统核心大小约400KB,提供了通用Linux API和完整的TCP/IP 协议栈,实现了对NFS、ext2、ROMfs、JFFS档案系统的支援。
GUI用了MicroWindows,具有中文字地化支援,包括GB2312 等字符集的支援,中文输入法等等。在其上又开发了基于FLTK的嵌入式GUI图形包,提供了比较完善的图形功能,如对选单、按钮、滚动条等多种GUI控制元件的支援。
用这种图形包,我们已开发出大小仅1MB的嵌入式中文Web浏览器,并且正在整合清华文通的中文手写输入软体。
交叉编译除错工具用通用的Linux开发套件—GNU开发套件,包括了一系列的开发除错工具。主要元件有:
● G—编译器,可以做成交叉编译的形式,即在宿主机上开发编译目标板上可执行的二进位制档案。
● Binutils—工具,包括objdump(可以反编译二进位制档案),as(汇编编译器),ld(联结器)等等。
● Gdb—侦错程式,可使用多种交叉除错方式,包括使用串列埠和乙太网除错。
开发环境
本嵌入式系统开发平台的GNU开发套件运行于桌面Linux作业系统。开发者首先使用G和Gdb编译和除错bootloader程式;再通过串列埠将宿主机和目标板连线起来,使EZ328进入引导模式,通过一个简单的perl程式将除错好的Bootloader程式下载到目标板的RAM中,作为monitor监控程式,同时在宿主机上启动mini和它进行串列埠通讯,对Linux核心及驱动进行下载和除错;一旦Linux核心在目标板上执行并初始化乙太网介面,再由网线将宿主机和目标板连线起来(如图2所示)。通过乙太网,开发者可以使用NFS档案系统安装上宿主机的硬碟,这样目标板就可以通过乙太网对宿主机的硬碟直接进行操作,不需下载即可除错程式;若Linux核心启动了远端登入服务,开发者还可以登入到目标板上除错应用程式。
其是要求你在Linux作业系统环境下进行嵌入式系统的程式设计与设计。你可以自己在电脑中装个Linux系统,常见的有Ubuntu,红帽,Debian等,个人感觉Ubuntu简单易学。
嵌入式系统开发怎样入门?专科生可以从事嵌入式系统开发吗?专科生没问题的!只要认真努力!遇到不会的知识就去学!
嵌入式系统开发需要的基础知识相对较多,不过要看你的方向是什么,是硬体还是软体,硬体比如是板级开发,系统硬体设计......软体比如linux,wince......,不过建议先找本计算机作业系统的书籍好好看一下,这会很有帮助!另外有一款好的开发板也会事半功倍的!祝你好运!
嵌入式系统开发与软体开发的区别,到底怎么学习嵌入式系统开发?这个你得搞清楚嵌入式软体开发是什么,其实它也还是开发软体,只是它开发的是基于嵌入式系统的软体,所以叫做嵌入式软体开发,无论怎么学习,多看下行业资讯和资讯很有必要的,他的微信公众号:嵌入式资讯精选
嵌入式系统开发环境常用的有Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive
个人感觉Linux、uClinux、WinCE、uCOS-II比较多,但是比例最多的应该是Linux吧~
嵌入式系统开发技术是什么?嵌入式系统开发就是对于除了电脑之外的所有电子装置上作业系统的开发,开发物件有手机,掌上电脑,机电系统等。
嵌入式系统是用来控制或者监视机器、装置、工厂等大规模装置的系统。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬体可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
嵌入式系统的核心是由一个或几个预先程式设计好以用来执行少数几项任务的微处理器或者微控制器组成。与通用计算机能够执行使用者选择的软体不同,嵌入式系统上的软体通常是暂时不变的;所以经常称为"韧体"。
嵌入式系统开发与软体开发嵌入式开发就是指在嵌入式作业系统下进行开发,一般常用的系统有WinCE,linux,android等。另外,用c,c++或汇编开发;用高阶处理器,arm7,arm9,arm11,powerpc,mips,mipsel等,或加上作业系统也属于嵌入式的开发。
………………………………
看你问的问题,应该是对嵌入式很感兴趣,其实你可以自学嵌入式。关于如何学习嵌入式,我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关资讯,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在百度知道看到一篇让我很鼓舞的文章,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视讯,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索嵌入式的视讯,虽然零星找到一些嵌入式的视讯,但是都不系统,我是想找一个能够告诉我该怎么学的视讯,一套从入门到精通的视讯,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视讯,是在IT学习联盟网站推出的一份视讯《零基础嵌入式就业班》(喜欢《零基础嵌入式就业班》的可以复制 sina.lt/qKh 贴上浏览器位址列按回车键即开启)。里面的教程还不错,很完整,可以让我从基础的开始学起。视讯比较便宜。
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
收到他们寄过来的光碟后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视讯教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机器上都有做练习,敲linux的基本命令,写简单的C语言程式码,差不多也就三个礼拜。我每天都在不停的写一些简单的程式码,这样一月后我基本掌握了C和linux的基本操作。
接下来我就去学习了人家的视讯的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。
这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。
最后的一个月,我就去看关于实践部分的内容,了解嵌入式专案具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视讯,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右
我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的专案经验,所以我没有被选中。
后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是嵌入式linux应用开发,做安防产品的应用的。我想我也比较,经理很看重我的努力,就决定录用我,开的工资是3500一个月,虽然我知道在上海3500只能过温饱的生活,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。
把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有必要自卑,我们不比别人笨,只要我们肯努力,我们一样会成功。
……………………………………
嵌入式系统开发的基础是什么嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬体可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、硬体装置、嵌入式作业系统以及使用者的应用程式等四个部分组成,用于实现对其他装置的控制、监视或管理等功能。
嵌入式系统一般指非PC系统,它包括硬体和软体两部分。硬体包括处理器/微处理器、储存器及外设器件和I/O埠、图形控制器等。软体部分包括作业系统软体(OS)(要求实时和多工操作)和应用程式程式设计。有时设计人员把这两种软体组合在一起。应用程式控制着系统的运作和行为;而作业系统控制着应用程式程式设计与硬体的互动作用。
如何制作开发一个软件?
1、软件开发的第一个流程是项目开发目的分析与确定,主要是在软件开发商将开发项目确定下来之后,需要与需求方进行讨论,确定需求方对于软件开发的需要实现目标及其具体需要的功能等等,并确定是否可达成;
2、接下来就是需求分析,这个步骤也是为软件开发的正常进行确定具体思路的阶段。在确定软件开发可进行后,必须要对客户需要实现的软件功能需求进行具体详细的分析。同时应当考虑在开发过程中可能出现的变化情况,制定需求变更随时应对特殊情况的发生,保证软件开发流程的顺畅进行;
3、接下来就是软件设计。软件设计要根据上一阶段对软件功能需求分析的结果,来设计软件系统的框架结构、功能模块和数据库等等。它主要分为总体设计和详细设计两个部分;
4、接下来就是编程实施步骤。编程也是根据对软件设计,将软件设计的各部分需求通计算机程序代码来实现运行,编程有统一、规范的程序编写规则,保证软件程序的易懂性、易维护性;
5、接下来就是软件测试步骤。也就是在根据设计将客户软件需用编程代码来实现之后,也就是软件程序完成之后,需要对编写的程序,形成整体构架、功能进行单元、组装、系统三阶段的测试,以测试程序编写的正确性,以及对客户需求功能满足的充分性,以此来确定软件是否达到开发要求,同时也是一个发现问题、纠正问题的过程;
6、通过以上核心环节完成了软件开发,接下来就是在软件开发达到客户需求之后,开发者将软件系统交予客户,并将软件安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等产物交付给客户,同时指导客户进行软件安装、以及安装技巧,提醒客户注意软件运行状况、环境、服务器及相关中间件的检测与注意事项,知道客户软件的实际操作方法、使用流程等等问题,实现合同规定任务;
7、用户在接受开发商交付的软件开发结果,并进行实际操作、测试运行,实现满意结果之后,对开发出来的软件进行验收;
8、定制开发的软件通常都需要提供售后服务,定期对软件进行维护,或者根据用户出现的新需求,进行应用软件程序的修改,使之不断满足客户实际需求。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。