① 怎么开发一个软件!
极其流行,同样也是竞争力极其大的一种商业模式。虽然国内软件开发公司都发展壮大起来了,但是各地软件开发公司的实力及资质仍然参差不齐。下面为大家介绍下近期国内软件开发公司的排名汇总。
1:华盛恒辉科技有限公司
上榜理由:华盛恒辉是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在开发、建设到运营推广领域拥有丰富经验,我们通过建立对目标客户和用户行为的分析,整合高质量设计和极其新技术,为您打造创意十足、有价值的企业品牌。
在军工领域,合作客户包括:中央军委联合参谋(原总参)、中央军委后勤保障部(原总后)、中央军委装备发展部(原总装)、装备研究所、战略支援、军事科学院、研究所、航天科工集团、中国航天科技集团、中国船舶工业集团、中国船舶重工集团、第一研究所、训练器材所、装备技术研究所等单位。
在民用领域,公司大力拓展民用市场,目前合作的客户包括中国中铁电气化局集团、中国铁道科学研究院、济南机务段、东莞轨道交通公司、京港地铁、中国国电集团、电力科学研究院、水利部、国家发改委、中信银行、华为公司等大型客户。
2:五木恒润科技有限公司
上榜理由:五木恒润拥有员工300多人,技术人员占90%以上,是一家专业的军工信息化建设服务单位,为军工单位提供完整的信息化解决方案。公司设有股东会、董事会、监事会、工会等上层机构,同时设置总经理职位,由总经理管理公司的具体事务。公司下设有研发部、质量部、市场部、财务部、人事部等机构。公司下辖成都研发中心、西安研发中心、沈阳办事处、天津办事处等分支机构。
3、浪潮
浪潮集团有限公司是国家首批认定的规划布局内的重点软件企业,中国着名的企业管理软件、分行业ERP及服务供应商,在咨询服务、IT规划、软件及解决方案等方面具有强大的优势,形成了以浪潮ERP系列产品PS、GS、GSP三大主要产品。是目前中国高端企业管理软件领跑者、中国企业管理软件技术领先者、中国最大的行业ERP与集团管理软件供应商、国内服务满意度最高的管理软件企业。
4、德格Dagle
德格智能SaaS软件管理系统自德国工业4.0,并且结合国内工厂行业现状而打造的一款工厂智能化信息平台管理软件,具备工厂ERP管理、SCRM客户关系管理、BPM业务流程管理、
OMS订单管理等四大企业业务信息系统,不仅满足企业对生产进行简易管理的需求,并突破局域网应用的局限性,同时使数据管理延伸到互联网与移动商务,不论是内部的管理应用还是外部的移动应用,都可以在智能SaaS软件管理系统中进行业务流程的管控。
5、Manage
高亚的产品 (8Manage) 是美国经验中国研发的企业管理软件,整个系统架构基于移动互联网和一体化管理设计而成,其源代码编写采用的是最为广泛应用的
Java / J2EE 开发语言,这样的技术优势使 8Manage
可灵活地按需进行客制化,并且非常适用于移动互联网的业务直通式处理,让用户可以随时随地通过手机apps进行实时沟通与交易。
② 一般app开发工具有哪些
第一种:Dingdone:第一次看到叮当APP开发平台,是通过“某氪”的榜单推荐,用了一段时间,感觉不错,除了设计精美之外,它的应用种类也很丰富,互动功能完善,最关键的是可修改的元素足够多,比较符合他们的slogan
第二种:Epub360:如果说叮当的设计元素很强,那么Epub360无疑更强,就像它的定位一样:为专业设计师精心打造的交互设计利器。
第三种:Appypie:这是目前为止,我用过的开发工具里面功能最多的,因为这个开发工具不仅可以做一般app,还可以做游戏。不仅可以做游戏,还可以集成内付功能!
第四种:AppsBuilder:这个app开发平台也是一款我用了之后觉得性价比比较高的,它可以支持跨平台操作,能为用户提供便捷快速的应用方案和良好的兼容性。
③ 怎样开发软件
60年代中期开始爆发了众所周知的软件危机。为了克服这一危机,在1968、1969年连续召开的两次着名的NATO会议上提出了软件工程这一术语,并在以后不断发展、完善。与此同时,软件研究人员也在不断探索新的软件开发方法。至今已形成八类软件开发方法。
一、1972年 Parnas方法
二、1978年 SASA方法
三、1975年 面向数据结构的软件开发方法(至今仍广泛使用)
四、问题分析法
五、面向对象的软件开发方法
六、可视化开发方法
一、Parnas方法
最早的软件开发方法是由D.Parnas在1972年提出的。由于当时软件在可维护性和可靠性方面存在着严重问题,因此Parnas提出的方法是针对这两个问题的。首先,Parnas提出了信息隐蔽原则:在概要设计时列出将来可能发生变化的因素,并在模块划分时将这些因素放到个别模块的内部。这样,在将来由于这些因素变化而需修改软件时,只需修改这些个别的模块,其它模块不受影响。信息隐蔽技术不仅提高了软件的可维护性,而且也避免了错误的蔓延,改善了软件的可靠性。现在信息隐蔽原则已成为软件工程学中的一条重要原则。
Parnas提出的第二条原则是在软件设计时应对可能发生的种种意外故障采取措施。软件是很脆弱的,很可能因为一个微小的错误而引发严重的事故,所以必须加强防范。如在分配使用设备前,应该取设备状态字,检查设备是否正常。此外,模块之间也要加强检查,防止错误蔓延。
Parnas对软件开发提出了深刻的见解。遗憾的是,他没有给出明确的工作流程。所以这一方法不能独立使用,只能作为其它方法的补充。
二、�SASA方法
1978年,E.Yourdon和L.L.Constantine提出了结构化方法,即SASD方法,也可称为面向功能的软件开发方法或面向数据流的软件开发方法。1979年TomDeMarco对此方法作了进一步的完善。
Yourdon方法是80年代使用最广泛的软件开发方法。它首先用结构化分析(SA)对软件进行需求分析,然后用结构化设计(SD)方法进行总体设计,最后是结构化编程(SP)。这一方法不仅开发步骤明确,SA、SD、SP相辅相成,一气呵成,而且给出了两类典型的软件结构(变换型和事务型),便于参照,使软件开发的成功率大大提高,从而深受软件开发人员的青睐。
三、面向数据结构的软件开发方法
Jackson方法
1975年,M.A.Jackson提出了一类至今仍广泛使用的软件开发方法。这一方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整的程序结构图。这一方法对输入、输出数据结构明确的中小型系统特别有效,如商业应用中的文件表格处理。该方法也可与其它方法结合,用于模块的详细设计。
Jackson方法有时也称为面向数据结构的软件设计方法。
Warnier方法
1974年,J.D.Warnier提出的软件开发方法与Jackson方法类似。
差别有三点:一是它们使用的图形工具不同,分别使用Warnier图和Jackson图;另一个差别是使用的伪码不同;最主要的差别是在构造程序框架时,Warnier方法仅考虑输入数据结构,而Jackson方法不仅考虑输入数据结构,而且还考虑输出数据结构。
四、问题分析法
PAM问题分析法。PAM(ProblemAnalysisMethod)是80年代末由日立公司提出的一种软件开发方法。
PAM方法希望能兼顾Yourdon方法、Jackson方法和自底向上的软件开发方法的优点,而避免它们的缺陷。它的基本思想是:考虑到输入、输出数据结构,指导系统的分解,在系统分析指导下逐步综合。这一方法的具体步骤是:从输入、输出数据结构导出基本处理框;分析这些处理框之间的先后关系;按先后关系逐步综合处理框,直到画出整个系统的PAD图。从上述步骤中可以看出,这一方法本质上是综合的自底向上的方法,但在逐步综合之前已进行了有目的的分解,这个目的就是充分考虑系统的输入、输出数据结构。
PAM方法的另一个优点是使用PAD图。这是一种二维树形结构图,是到目前为止最好的详细设计表示方法之一,远远优于NS图和PDL语言。
这一方法在日本较为流行,软件开发的成功率也很高。由于在输入、输出数据结构与整个系统之间同样存在着鸿沟,这一方法仍只适用于中小型问题。
五、面向对象的软件开发方法
面向对象技术是软件技术的一次革命,在软件开发史上具有里程碑的意义。
随着OOP(面向对象编程)向OOD(面向对象设计)和OOA(面向对象分析)的发展,最终形成面向对象的软件开发方法OMT(LbjectModellingTechnique)。这是一种自底向上和自顶向下相结合的方法,而且它以对象建模为基础,从而不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。所以OMT彻底实现了PAM没有完全实现的目标。不仅如此,OO技术在需求分析、可维护性和可靠性这三个软件开发的关键环节和质量指标上有了实质性的突破,彻底地解决了在这些方面存在的严重问题,从而宣告了软件危机末日的来临。
自底向上的归纳
OMT的第一步是从问题的陈述入手,构造系统模型。从真实系统导出类的体系,即对象模型包括类的属性,与子类、父类的继承关系,以及类之间的关联。类是具有相似属性和行为的一组具体实例(客观对象)的抽象,父类是若干子类的归纳。因此这是一种自底向上的归纳过程。在自底向上的归纳过程中,为使子类能更合理地继承父类的属性和行为,可能需要自顶向下的修改,从而使整个类体系更加合理。由于这种类体系的构造是从具体到抽象,再从抽象到具体,符合人类的思维规律,因此能更快、更方便地完成任务。这与自顶向下的Yourdon方法构成鲜明的对照。在Yourdon方法中构造系统模型是最困难的一步,因为自顶向下的“顶”是一个空中楼阁,缺乏坚实的基础,而且功能分解有相当大的任意性,因此需要开发人员有丰富的软件开发经验。而在OMT中这一工作可由一般开发人员较快地完成。在对象模型建立后,很容易在这一基础上再导出动态模型和功能模型。这三个模型一起构成要求解的系统模型。
自顶向下的分解
系统模型建立后的工作就是分解。与Yourdon方法按功能分解不同,在OMT中通常按服务(Service)来分解。服务是具有共同目标的相关功能的集合,如I/O处理、图形处理等。这一步的分解通常很明确,而这些子系统的进一步分解因有较具体的系统模型为依据,也相对容易。所以OMT也具有自顶向下方法的优点,即能有效地控制模块的复杂性,同时避免了Yourdon方法中功能分解的困难和不确定性。
OMT的基础是对象模型
每个对象类由数据结构(属性)和操作(行为)组成,有关的所有数据结构(包括输入、输出数据结构)都成了软件开发的依据。因此Jackson方法和PAM中输入、输出数据结构与整个系统之间的鸿沟在OMT中不再存在。OMT不仅具有Jackson方法和PAM的优点,而且可以应用于大型系统。更重要的是,在Jackson方法和PAM方法中,当它们的出发点输入、输出数据结构(即系统的边界)发生变化时,整个软件必须推倒重来。但在OMT中系统边界的改变只是增加或减少一些对象而已,整个系统改动极小。
需求分析彻底
需求分析不彻底是软件失败的主要原因之一。即使在目前,这一危险依然存在。传统的软件开发方法不允许在开发过程中用户的需求发生变化,从而导致种种问题。正是由于这一原因,人们提出了原型化方法,推出探索原型、实验原型和进化原型,积极鼓励用户改进需求。在每次改进需求后又形成新的进化原型供用户试用,直到用户基本满意,大大提高了软件的成功率。但是它要求软件开发人员能迅速生成这些原型,这就要求有自动生成代码的工具的支持。
OMT彻底解决了这一问题。因为需求分析过程已与系统模型的形成过程一致,开发人员与用户的讨论是从用户熟悉的具体实例(实体)开始的。开发人员必须搞清现实系统才能导出系统模型,这就使用户与开发人员之间有了共同的语言,避免了传统需求分析中可能产生的种种问题。
可维护性大大改善
在OMT之前的软件开发方法都是基于功能分解的。尽管软件工程学在可维护方面作出了极大的努力,使软件的可维护性有较大的改进。但从本质上讲,基于功能分解的软件是不易维护的。因为功能一旦有变化都会使开发的软件系统产生较大的变化,甚至推倒重来。更严重的是,在这种软件系统中,修改是困难的。由于种种原因,即使是微小的修改也可能引入新的错误。所以传统开发方法很可能会引起软件成本增长失控、软件质量得不到保证等一系列严重问题。正是OMT才使软件的可维护性有了质的改善。
OMT的基础是目标系统的对象模型,而不是功能的分解。功能是对象的使用,它依赖于应用的细节,并在开发过程中不断变化。由于对象是客观存在的,因此当需求变化时对象的性质要比对象的使用更为稳定,从而使建立在对象结构上的软件系统也更为稳定。
更重要的是OMT彻底解决了软件的可维护性。在OO语言中,子类不仅可以继承父类的属性和行为,而且也可以重载父类的某个行为(虚函数)。利用这一特点,我们可以方便地进行功能修改:引入某类的一个子类,对要修改的一些行为(即虚函数或虚方法)进行重载,也就是对它们重新定义。由于不再在原来的程序模块中引入修改,所以彻底解决了软件的可修改性,从而也彻底解决了软件的可维护性。OO技术还提高了软件的可靠性和健壮性。
六、可视化开发方法
可视化开发是90年代软件界最大的两个热点之一。随着图形用户界面的兴起,用户界面在软件系统中所占的比例也越来越大,有的甚至高达60~70%。产生这一问题的原因是图形
界面元素的生成很不方便。为此Windows提供了应用程序设计接口API(Application Programming Interface),它包含了600多个函数,极大地方便了图形用户界面的开发。但是在这批函数中,大量的函数参数和使用数量更多的有关常量,使基于Windows API的开发变得相当困难。为此Borland C++推出了Object Windows编程。它将API的各部分用对象类进行封装,提供了大量预定义的类,并为这些定义了许多成员函数。利用子类对父类的继承性,以及实例对类的函数的引用,应用程序的开发可以省却大量类的定义,省却大量成员函数的定义或只需作少量修改以定义子类。
Object Windows还提供了许多标准的缺省处理,大大减少了应用程序开发的工作量。但要掌握它们,对非专业人员来说仍是一个沉重的负担。为此人们利用Windows API或Borland C++的Object Windows开发了一批可视开发工具。
可视化开发就是在可视开发工具提供的图形用户界面上,通过操作界面元素,诸如菜单、按钮、对话框、编辑框、单选框、复选框、列表框和滚动条等,由可视开发工具自动生成应用软件。
这类应用软件的工作方式是事件驱动。对每一事件,由系统产生相应的消息,再传递给相应的消息响应函数。这些消息响应函数是由可视开发工具在生成软件时自动装入的
④ 做安卓软件开发需要哪些工具
android是基于linux的,所以在ubuntu下是最好的。当然windows下面也是可以的。但是android的内核是基于linux的,并且通过终端进行各种操作,非常强大,也比cmd方便。
大致开发的环境是这样:ubuntu系统,以前是windows然后安装了ubuntu的虚拟机。android大部分的开发都是中间层到顶层的应用开发,所以基本上是java开发。
表配如下:1eclipse是开发java必备,也是android必备。(当然前提是先安装JDK1.6)
2下载android的SDK和ADT。这是android的开发必须的工具,adb、ddms、mksdcard、aapt,debug 必备
A安装完eclipse后,通过help=〉install new software把ADT安装好
B然后window=>preference设置好SDK的路径即可
⑤ 怎样用计算机程序语言编写工具类程序软件
目前最流行的是IBM公司的EclipseSDK. 原因之一:它可以装插件,无限地增强功能。 原因之二:它是开源的,不要钱。 JBuilder已经过时了,Borland在JavaIDE这一块彻底败了。 最新出的JBuilder2007完全是基于Eclipse内核开发,连界面都跟Eclipse一摸一样。只不过它不是免费的。 EclipseSDK目前最新的版本是3.3。它有一个Java版的,一个J2EE版的。针对不同的开发领域可以选择不同的版本。 Eclipse有一款收费插件叫MyEclipse,目前是功能最强大的插件,如果要使用,需要到网上找破解码。 目前MyEclipse最新的版本是6.0,里面自带一个Eclipse3.3。这个组合目前是最好用的。另外5.5配3.2也不错。 J2EE服务器最好的又免费的是JBOSS,我呕血推荐。目前最新的版本是JBOSS5.开发EJB它是最好的,当然它也可以作为Web服务器来使用。 数据库免费的最好的是MySQL。 最好的版本应该是5.x。 推荐使用JBuilder和Eclipse(比较流行,也很好用) 1。JBuilder2005和2006下载地址: http://search.verycd.com/query/JBuilder/ 2。Eclipse.一个开放源代码的、基于 Java 的可扩展开发平台,是免费的 http://www.eclipse.org/downloads/index.php 官方最新下载 3。NetBeans,我不是很熟悉!
⑥ 请问这种软件用什么开发工具编写出来的想写一个类似这种的软件
通过exe和dll文件判断该软件是什么语言编写的那难度非常大,几乎不可能。不过不同的语言在转换成计算机指令序列时可能会采用一些特定的序列,也就是说某种指令序列只可能是由这种语言产生的,不可能由另外一种语言产生。不过我们很难知道到底是哪些指令序列与特定语言有关,所以几乎不可能。你说的关键字应当是指各个语言中的关键字吧。编程语言的关键字在exe和dll看不出来。反汇编软件W32Dasm v10.0 汉化修改版Ollydbg这两个是我知道的。PE_ExplorerRestorator 2007这两个是能够看exe和dll内资源信息的软件
⑦ 工具类app开发怎样做才能赚钱
第一、要拒绝加入帮助信息。很多APP上充满帮助信息,其实这是一个门槛,很影响用户体验。
第二、小的工具占用资源比较小。比如360排行榜第一个工具,耗电量、内存资源均排第一,是最容易被杀死的。
第三,就是微创新。其实,只要一个软件做到另用户不反感,要注重用户体验,这个时候它就有活下去的价值。
⑧ 请问做自动化测试工具类的开发需要掌握哪些方面的技能
您好
1、首先你得先定位自己需要开放自动化测试工具为哪类,例如:自动化测试用例管理工具,自动化测试框架类、界面自动化测试工具等
2、根据你所需的自动化测试工具类,对应相应的技能
1)基本技能;编程知识(其实哪一种语言都能进行自动化测试工具开发,不过我推荐:想掌握一些软件开发方面高级一些的思想,可以学学java的OO,一般而言,自动化测试需要开发效率比较高,则可以应用一些脚本方面的语言,例如:tcl、python等。所以,首先,先掌握基本的编程语法以及编程思想
另外的一个基本技能:你需要简单的去了解一下自动化测试以及其中的一些应用模式,而且需要对测试流程以及基本的测试方法进行学习,就像你做软件工程一样,你也需要适应一定的软件流程,例如:瀑布式、RUP式。
3)之后,对应不同的工具学习不同的东西,例如:你开发一个简易的界面自动化测试工具,WIN32、web以及java都是用不同的语言,像win32的话,就需要去掌握MS的一些基本知识,例如:句柄的概念、MSAA接口概念等。java的swing界面的话,就得去看java底层的事件机制,web的话,就去好好了解一下web中的html节点元素,还有js等。或者你想做一个手机自动化测试工具,andriod,则需要对android的开发进行一些了解了。这就叫应用不同的技能满足不同的需求阶段。当然,还有各种不同的自动化测试工具,例如:测试管理以及连接类、CLI命令行控制类,日志生成类等 ,这都是在平时工作中进行总结出来的一些经验,总之,先打好基础。如果,有什么问题或者想法的话,可以发邮件于我:[email protected](散步的SUN),ok,祝你学习愉快~欢迎来到自动化测试的小世界
⑨ 软件开发工具的工具包
软件开发工具包(Software Development Kit, 即 SDK)是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
它或许只是简单的为某个程序设计语言提供应用程序接口的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
软件工程师通常从目标系统开发者那里获得软件开发包。为了鼓励开发者使用其系统或者语言,许多 SDK 是免费提供的。SDK 经常可以直接从互联网下载。有时也被作为营销手段。例如,甲产品或许会免费提供构件SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。
SDK 可能附带了使其不能在不兼容的许可证下开发软件的许可证。例如一个专有的 SDK 可能与自由软件开发抵触。而GPL能使 SDK 与专有软件开发近乎不兼容。LGPL下的SDK则没有这个问题。 指的是很方便地把一种编程语言代码化并编译执行的工具。其中主要的语言开发工具有几大类:java开发工具、net开发工具、delphi开发工具等。
java开发工具
1、MyEclipse(MyEclipse Enterprise Workbench)MyEclipse应用开发平台是J2EE集成开发环境 ,包括了完备的编码、调试、测试和发布功能,完整支持JAVA,HTML, Struts,Spring, JSP, CSS, Javascript, SQL, Hibernate。MyEclipse应用开发平台结构上实现Eclipse单个功能部件的模块化,并可以有选择性的对单独的模块进行扩展和升级。2、EclipseEclipse 是目前功能比较强大的JAVA IDE(JAVA编程软件) ,是一个集成工具的开放平台,而这些工具主要是一些开源工具软件。在一个开源模式下运作,并遵照共同的公共条款,Eclipse 平台为工具软件开发者提供工具开发的灵活性和控制自己软件的技术。3、NetBeansNetBeans是开放源码的Java集成开发环境(IDE) ,适用于各种客户机和Web应用。Sun Java Studio是Sun公司最新发布的商用全功能Java IDE,支持Solaris、Linux和Windows平台,适于创建和部署2层Java Web应用和n层J2EE应用的企业开发人员使用。.Net软件开发工具1、Microsoft Visual StudioVisual Studio 是一套完整的开发工具 ,用于生成 ASP NET Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic、Visual C# 和 Visual C++ 都使用相同的集成开发环境 (IDE),这样就能够进行工具共享,并能够轻松地创建混合语言解决方案。关于常用的软件开发工具 使用详细,可以参考引用文章。 (1)基于工作阶段的工具
基于各个阶段对信息的需求不同,软件开发工具可分为三类:设计工具、分析工具、计划工具。
①设计工具是最具体的,它是指在实现阶段对人们提供帮助的工具。例如各种代码生成器、一般所说的第四代语言和帮助人们进行测试的工具(包括提供测试环境或测试数据)等,都属于设计工具之列。它是最直接的帮助人们编写与调试软件的工具。
②分析工具主要是指用于支持需求分析的工具,例如,帮助人们编写数据字典的、专用的数据字典管理系统帮助人们绘制数据流程图的专用工具,帮助人们画系统结构图或ER图的工具等。他们不是直接帮助开发人员编写程序,而是帮助人们认识与表述信息需求与信息流程,从逻辑上明确软件的功能与要求。
③计划工具则是从更宏观的角度去看待软件开发。它不仅从项目管理的角度帮助人们组织与实施项目,把有关进度、资源、质量、验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新、实现了跨生命周期的信息管理与共享,为信息以及软件的复用创造了条件。
(2)基于集成程度划分的工具
集成化程度是用户接口一致性和信息共享的程度,是一个新的发展阶段。集成化的软件开发工具要求人们对于软件开发过程有更深入的认识和了解。开发与应用集成化的软件开发工具是应当努力研究与探索的课题,集成化的软件开发工具也常称为软件工作环境。
(3)基于硬件、软件的关系划分的工具
基于与硬件和软件的关系,软件开发工具可以分为两类:依赖于特定计算机或特定软件(如某种数据库管理系统)和独立于硬件与其它软件的软件开发工具。一般来说,设计工具多是依赖于特定软件的,因为它生成的代码或测试数据不是抽象的,而是具体的某一种语言的代码或该语言所要求的格式的数据。而分析工具与计划工具则往往是独立于机器与软件的,集成化的软件开发工具常常是依赖于机器与软件的。
(4)基于应用领域划分的工具
根据应用领域的不同,应用软件可以分为事务处理、实时应用、嵌入式应用等。随着个人计算机与人工智能的发展,与这两个方面相联系的应用软件,也取得较大的进展。
⑩ 如何自己编程序做软件
1.程序软件免费下载
链接:https://pan..com/s/1E6rNlwiYx9wPYqUZuqbnpw
软件,拼音为Ruǎnjiàn,国标中对软件的定义为:与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
