微软官方MSDN原版Win10系统下载

现在位置: 首页  > 系统教程  > 系统帮助

软件是怎么编写的

时间:2024-09-21 01:25:32   

大家好,今天Win10系统之家小编给大家分享「软件是怎么编写的」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!

Dreamdays V: 也许是世上最美的倒数软件系列软件最新版本下载

1.软件是怎么制作出来的?


  1614年:苏格兰人JohnNapier(1550~1617年)发表了一篇论文,其中提到他发明了一种可以进行四则运算和方根运算的精巧装置。
 1623年:WilhelmSchickard(1592~1635年)制作了一个能进行6位数以内加减法运算,并能通过铃声输出答案的“计算钟”。该装置通过转动齿轮来进行操作。
 1625年:WilliamOughtred(1575~1660年)发明计算尺。
 1668年:英国人SamuelMorl(1625~1695年)制作了一个非十进制的加法装置,适宜计算钱币。
 1671年:德国数学家GottfriedLeibniz设计了一架可以进行乘法运算,最终答案长度可达16位的计算工具。
 1822年:英国人CharlesBabbage(1792~1871年)设计了差分机和分析机,其设计理论非常超前,类似于百年后的电子计算机,特别是利用卡片输入程序和数据的设计被后人所采用。
 1834年:Babbage设想制造一台通用分析机,在只读存储器(穿孔卡片)中存储程序和数据。Babbage在以后的时间里继续他的研究工作,并于1840年将操作位数提高到了40位,并基本实现了控制中心(CPU)和存储程序的设想,而且程序可以根据条件进行跳转,能在几秒内做出一般的加法,几分钟内做出乘、除法。
 1848年:英国数学家GeorgeBoole创立二进制代数学,提前近一个世纪为现代二进制计算机的发展铺平了道路。
 1890年:美国人口普查部门希望能得到一台机器帮助提高普查效率。HermanHollerith(后来他的公司发展成了IBM公司)借鉴Babbage的发明,用穿孔卡片存储数据,并设计了机器。结果仅用6周就得出了准确的人口统计数据(如果用人工方法,大概要花10年时间)。
 1896年:HermanHollerith创办了IBM公司的前身。
1906年:美国人LeeDeForest发明电子管,为电子计算机的发展奠定了基础。
 1924年2月:IBM公司成立,从此一个具有划时代意义的公司诞生。
 1935年:IBM推出IBM601机。这是一台能在一秒钟内算出乘法的穿孔卡片计算机。这台机器无论在自然科学还是在商业应用上都具有重要的地位,大约制造了1500台。
 1937年:英国剑桥大学的AlanM.Turing(1912~1954年)出版了他的论文,并提出了被后人称之为“图灵机”的数学模型。
 1937年:Bell试验室的GeorgeStibitz展示了用继电器表示二进制的装置。尽管仅仅是个展示品,但却是第一台二进制电子计算机。
 1940年1月:Bell实验室的SamuelWilliams和Stibitz制造成功了一个能进行复杂运算的计算机。该机器大量使用了继电器,并借鉴了一些电话技术,采用了先进的编码技术。
 1941年夏季:Atanasoff和学生Berry完成了能解线性代数方程的计算机,取名叫“ABC”(Atanasoff-BerryComputer),用电容作存储器,用穿孔卡片作辅助存储器,那些孔实际上是“烧”上去的,时钟频率是60Hz,完成一次加法运算用时一秒。
 1943年1月:MarkI自动顺序控制计算机在美国研制成功。整个机器有51英尺长、5吨重、75万个零部件。该机使用了3304个继电器,60个开关作为机械只读存储器。程序存储在纸带上,数据可以来自纸带或卡片阅读器。MarkI被用来为美国海军计算弹道火力表。
 1943年9月:Williams和Stibitz完成了“RelayInterpolator”,后来命名为“ModelⅡRe-
layCalculator”的计算机。这是一台可编程计算机,同样使用纸带输入程序和数据。它运行更可靠,每个数用7个继电器表示,可进行浮点运算。
 1946年:ENIAC(ElectronicNumericalIntegratorAndComputer)诞生,这是第一台真正意义上的数字电子计算机。开始研制于1943年,完成于1946年,负责人是JohnW.Mauchly和J.PresperEckert,重30吨,用了18000个电子管,功率25千瓦,主要用于计算弹道和氢弹的研制。
 三、晶体管计算机的发展
 真空管时代的计算机尽管已经步入了现代计算机的范畴,但因其体积大、能耗高、故障多、价格贵,从而制约了它的普及和应用。直到晶体管被发明出来,电子计算机才找到了腾飞的起点。
 1947年:Bell实验室的WilliamB.Shockley、JohnBardeen和WalterH.Brattain发明了晶体
管,开辟了电子时代新纪元。
 1949年:剑桥大学的Wilkes和他的小组制成了一台可以存储程序的计算机,输入输出设备仍是纸带。
 1949年:EDVAC(ElectronicDiscreteVariableAutomaticComputer——电子离散变量自动计算机)——第一台使用磁带的计算机。这是一个突破,可以多次在磁带上存储程序。这台机器是JohnvonNeumann提议建造的。
 1950年:日本东京帝国大学的YoshiroNakamats发明了软磁盘,其销售权由IBM公司获得。由此开创了存储时代的新纪元。
^^^^

2.软件是怎么开发出来的,怎样才可以做软件


  第一个步骤是市场调研,技术和市场要结合才能体现最大价值。
 第二个步骤是需求分析,这个阶段需要出三样东西,用户视图,数据词典和用户操作手 册。
 用户视图是该软件用户(包括终端用户和管理用户)所能看到的页面样式,这里面包含了 很多操作方面的流程和条件。
 数据词典是指明数据逻辑关系并加以整理的东东,完成了数据词典,数据库的设计就完成 了一半多。
 用户操作手册是指明了操作流程的说明书。
 请注意,用户操作流程和用户视图是由需求决定的,因此应该在软件设计之前完成,完成 这些,就为程序研发提供了约束和准绳,很遗憾太多公司都不是这样做的,因果颠倒,顺 序不分,开发工作和实际需求往往因此产生隔阂脱节的现象。
 需求分析,除了以上工作,笔者以为作为项目设计者应当完整的做出项目的性能需求说明 书,因为往往性能需求只有懂技术的人才可能理解,这就需要技术专家和需求方(客户或 公司市场部门)能够有真正的沟通和了解。
 第三个步骤是概要设计,将系统功能模块初步划分,并给出合理的研发流程和资源要求。 作为快速原型设计方法,完成概要设计就可以进入编码阶段了,通常采用这种方法是因为 涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是 并不是说详细设计说明书不重要,事实上快速原型法在完成原型代码后,根据评测结果和 经验教训的总结,还要重新进行详细设计的步骤。
 第四个步骤是详细设计,这是考验技术专家设计思维的重要关卡,详细设计说明书应当把 具体的模块以最'干净'的方式(黑箱结构)提供给编码者,使得系统整体模块化达到最 大;一份好的详细设计说明书,可以使编码的复杂性减低到最低,实际上,严格的讲详细 设计说明书应当把每个函数的每个参数的定义都精精细细的提供出来,从需求分析到概要 设计到完成详细设计说明书,一个软件项目就应当说完成了一半了。换言之,一个大型软 件系统在完成了一半的时候,其实还没有开始一行代码工作。
 那些把作软件的程序员简单理解为写代码的,就从根子上犯了错误了。
 第五个步骤是编码,在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/ 2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提 高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可 能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都 出现过。编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永 远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候 吗?从来没有!
 第六个步骤是测试
 测试有很多种:
 按照测试执行方,可以分为内部测试和外部测试
 按照测试范围,可以分为模块测试和整体联调
 按照测试条件,可以分为正常操作情况测试和异常情况测试
 按照测试的输入范围,可以分为全覆盖测试和抽样测试
 以上都很好理解,不再解释。
 总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外 部测试都是正常的,因为永远都会又不可预料的问题存在。
 完成测试后,完成验收并完成最后的一些帮助文档,整体项目才算告一段落,当然日后少 不了升级,修补等等工作,只要不是想通过一锤子买卖骗钱,就要不停的跟踪软件的运营 状况并持续修补升级,知道这个软件被彻底淘汰为止。

3.软件是怎么样被设计出来的?


  软件开发有很多道工序的!
软件的设计概念应遵循以下几个方面:
一、 抽象: 我们必须把许多事物和问题抽象起来,并且抽象它们不同的层次和角度。建议用数学语言来抽象事务和问题,因为数学是最好的抽象语言,并且它的本质就是抽象。
二、 模块化:将复杂的问题分解成可以管理的片断会更容易。将问题或事物分解并模块化这使得解决问题变得容易,分解的越细模块数量也就越多,它的副作用就是使得设计者考虑更多的模块之间耦合度的情况。
软件的设计原则应遵循以下几个方面:
一、 设计对于分析模型应该是可跟踪的:软件的模块可能被映射到多个需求上。
二、 设计结构应该尽可能的模拟实际问题。
三、 设计应该表现出一致性。
四、 不要把设计当成编写代码。
五、 在创建设计时就应该能够评估质量。
六、 评审设计以减少语义性的错误。
软件设计包括软件的结构设计,数据设计,接口设计和过程设计.
结构设计是指:定义软件系统各主要部件之间的关系
数据设计是指:将模型转换成数据结构的定义
接口设计是指:软件内部,软件和操作系统间以及软件和人之间如何通信
过程设计是指:系统结构部件转换成软件的过程描述

4.软件是如何开发出来的?


  软件开发流程
  先上一个软件开发的整体流程图,这就是大名鼎鼎的“瀑布模型(Waterfall Model)”。据说由温斯顿·罗伊斯(Winston Royce)在1970年提出。
  瀑布模型的特点为:上一阶段的结果为本阶段的输入,开发进程从一个阶段“流动”到下一个阶段。
  (图中右侧括号中为每个阶段的输出物。)
  一般软件售前人员对这个流程比较熟悉,这其中项目规划、可行性论证报告、需求说明书等,通常都由IT售前人员提供。
  如果将瀑布模型的设计部分分为总体设计、详细设计两部分,即“软件开发的8个流程”:
  1、问题定义阶段
  用户提出一个软件开发需求以后,分析人员首先要明确软件的实现目标、规模及类型:如它是数据处理问题还是实时控制问题,是科学计算问题还是人工智能问题等。
  2、可行性研究
  基本任务:“对于上一个阶段所确定的问题有行得通的解决办法吗”?
  内容包括经济可行性、技术可行性、法律可行性、不同方案。
  结束标准:提出关于问题性质、工程目标和规模的问题定义书面报告;提出可行性研究报告。
  3. 需求分析
  基本任务:“为了解决这个问题,目标系统必须做什么?”
  确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景。
  结束标准:软件需求规格说明书(specification)
  4. 总体设计(概要设计)
  基本任务:“概括地说,应如何解决这个问题?”
  设计出实现目标系统的几种可能的方案。推荐一个最佳方案。
  结束标准:概要设计文档
  5. 详细设计
  基本任务:“应该怎样具体地实现这个系统呢?”
  结束标准:设计出程序的详细规格说明。
  6. 编码
  基本任务:写出正确的容易理解、容易维护的程序模块
  结束标准:以某种程序设计语言表示的源程序清单
  7. 测试(单元测试和综合测试)
  基本任务:在设计测试用例的基础上检验软件的各个组成部分是否达到预定的要求。
  结束标准:软件合格,能交付用户使用。
  8. 软件维护
  基本任务:使系统持久地满足用户的需要。
  改正性维护,适应性维护,完善性维护,预防性维护。
  虽然后来提出很多模型,如演化模型(evolutionary model)、增量模型(incremental model)、原型模型(prototyping model)等,但现在软件开发的流程,依然总体遵循瀑布模型。
  
  如何搭建一个系统
  说完流程,再说说系统是如何被开发人员搭建出来的。
  系统的百度百科定义为:软件系统(Software Systems)是指由系统软件、支撑软件和应用软件组成的计算机软件系统,它是计算机系统中由软件组成的部分。
  搭建系统可以分为三个步骤:环境部署、软件开发、软件部署。
  1、环境部署
  准备服务器,部署操作系统、软件环境、安全软件、FTP服务器等。数据库和应用可分开布置在多个服务器,也可布置在同一服务器。
  准备网络,分为内网和外网。外网需要购买公网IP和域名。
  负责人:网络管理员
  2、软件开发
  包括开发语言选择、架构设计、数据库设计等工作,并进行编码、编译、测试、打包。
  负责人:程序员
  3、软件部署
  将程序文件上传到服务器,进行部署、配置,成功后即可通过客户端访问项目。
  负责人:软件实施
  
  软件开发阶段
  下面以java语言开发为例,简单讲讲程序员是如何进行软件开发的。
  (本部分参考了“软帝在线”公众号、博客园“架构与我”的文章)。
  1、新建java文件(或工程)
  java源代码本质上就是普通的文本文件,可以用txt等工具编辑java代码(程序员一般采用源代码编辑工具,如:Notepad++;或集成开发工具IDE,如:Eclipse)。txt编写后需将文件扩展名改成java。
  2、编写代码
  以“Hello World”举例编写代码:
  public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
  该程序表示的意思是输出Hello World这样一段话。
  3、编译程序
  Java程序之所以能做到跨平台运行,是因为Java程序运行在JVM中的,然而JVM只能够识别字节码文件,而不能直接识别Java文件。所以需要先将Java文件编译成字节码文件,即class文件,然后字节码文件才能够在JVM中运行。
  编译文件,可以通过手动执行Dos命令javac,或直接用编译器如Eclipse完成。
  4、运行程序
  可在Dos命令窗口中输入java命令,按回车,输出Hello World;
  或在编译器的控制台中看到输出结果。
  5、单元测试
  单元测试(模块测试)是开发者对编写的一小段代码,检验一个很小的、很明确的功能是否正确。
  通常采用JUnit框架(多数java开发环境已集成)进行测试,即所谓白盒测试,叫“白盒”是因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。
  测试通过后,就完成了软件开发阶段,可以打包部署了。(IT售前圈)

5.怎么自己开发软件呢?


  软件制作分两类应用软件和系统软件 
应用软件的开发大多使用 VB VC c++ 等等 
系统软件的开发大多使用 C C++ 
现在新的语言是面向对象的编程语言 
C# Vb.net java 等等 
可以按照开发需求来选择 语言种类 
大多数软件都会相应的有一个数据库来支持它运行。比如我们天天都在用的QQ,在它的后台就有一个很大的数据库,而且是个共享数据库,这样保证了每一个用户在任何一个地方都可以随时登录QQ。当用户输入了帐号和密码后,它就会相应的写入后台数据库,当密码与数据库的密码想符合,用户才可以在前台登录。 
目前开发软件的工具很多,比如Visual Basic,是现在比较流行的,还有Visual C++、Delphi也很不错。另外有些人喜欢有Visual Foxpro来制作一些比较小型的软件,还有比较早的C程序,原来我们经常玩的俄罗斯方块和贪吃蛇有很多都是用C开发出来的。比较大型的就是Microsoftsoft SQL Server和Access。当然,这些都是需要编程的,每个工具相应用的语言都不一样,代码也不一样。 
当软件做成后,还要进行调试,来测试它的稳定度。当一系列测试都通过后,还要用一种工具来使它脱离所开发的软件来运行,生成可执行文件.exe 这样,一个软件就基本做成了。 
我们现在用的QQ 2005 beta3就是个测试版,也许你可能感觉到了,它总是不时的会出现些小问题,因为它目前还只是个测试版,正式版出来后,这些问题也就会随之没有了

6.怎么样开发一个软件


  一般而言开发一款软件,大致需要这三个大模块:需求分析、代码编写、软件测试。
  首先,分析用户需求,进行客户调研。
  这个过程是开发一款软件的关键性步骤,需要准确把握用户的需求。若需求不够明确。那么后期的工作都将白费。因此在这阶段,需要多与用户沟通,认真分析用户的需求,将各个功能合理划分,最终才能开发出一款符合用户需求的软件。
  其次,将功能模块化,然后进行代码编写。
  在这个阶段中,首先需要项目经理与系统架构师合作商讨,将软件的用户需求的各项功能划分为各个不同的模块,然后将不同的模块分发给各个程序员,使其编码完成相应的部分。在项目时间比较少的情况下,当程序员编完某一模块的代码时,就可以交给测试程序员进行代码的测试,发现程序中存在的问题时,便及时的反馈给程序员。当最后完成所有模块后,便可以进行集成测试,进行下一步骤(阶段)。
   
  最后对软件进行测试,开始运营
  这一阶段需要测试工程师对软件进行黑盒测试、白盒测试,以及功能性测试,以发现软件中存在的问题,然后交由程序员修改,减少应用中存在的bug,最终达到一个稳定、容错性良好的软件。在这个过程完成后,还需要征集一个用户对软件进行使用,以提出不同适用性的问题,然后对软件进行改进,以满足人们人性化的需求。软件各方面测试完成后,便可以投入运营中。
   
  开发一款软件,在开发过程中大致划分为以上这些步骤。每个阶段都是在上一个阶段的基础上完成的,这些步骤是不可逆的。第一阶段的需求分析是开发软件的重中之重,相当于地基,所以相对耗时较长。

以上就是关于「软件是怎么编写的」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~

『Win10系统之家wwW.ghost580.net文♀章,不得自行转载,违者必追究!』

相关文章

  • 墨鱼丸推荐是哪个软件弹出来的?怎么彻底卸载墨鱼丸视频弹窗?

    墨鱼丸推荐是哪个软件弹出来的?怎么彻底卸载墨鱼丸视频弹窗?

    许多用户最近在使用电脑的时候,电脑莫名奇妙的弹出墨鱼丸推荐短视频来,但是找了一圈也不知道这是哪个软件弹出来的,这就导致想要彻底卸载删除也没有办法。下面小编就带着大家一起看看墨鱼丸推荐是哪个软件弹出来的,并...
  • 恐龙是怎么灭绝的

    恐龙是怎么灭绝的

    1.恐龙是怎样灭绝的?恐龙灭绝之谜我们人类,已在地球上生活了二三百万年,这段历史应当说不算短了。可是与恐龙的生存年相比较,那还只是一瞬间。在中生代,地球曾经是一个恐龙主宰的世界,无论是平原森林还是沼泽,到处都可...
  • 胆囊炎是怎么引起的

    胆囊炎是怎么引起的

    1.胆囊炎是什么引起的胆囊炎的治疗方法都有哪些:1、胆囊炎的非手术治疗方法:急性胆囊炎:a、卧床休息、禁食、腹胀者胃管减压。b、补液,纠正水、电解质与酸碱平衡失调。c、解痉止痛。d、静脉联用有效抗生素。慢性胆囊炎:中药治疗。...
  • 李小龙是怎么死的

    李小龙是怎么死的

    1.李小龙是怎么死的?关于李小龙的死说法有很多种:1973年7月20日,李小龙逝世于香港伊丽莎白医院。他生前多次说过:“我首先是一个武术家,然后才是演员。”他的一生虽然短暂,30年来却声威不减。李小龙盛年猝然离世,留下无数...