什么是软件开发环境
可称为应用型软件开发环境。
⑷按开发阶段分类,有前端开发环境(支持系统规划、分析、设计等阶段的活动)、后端开发环境(支持编程、测试等阶段的活动)、软件维护环境和逆向工程环境等。
此类环境往往可通过对功能较全的环境进行剪裁而得到。
软件开发环境由工具集和集成机制两部分构成,工具集和集成机制间的关系犹如插件和插槽间的关系。
工具集:软件开发环境中的工具可包括:支持特定过程模型和开发方法的工具,如支持瀑布模型及数据流方法的分析工具、设计工具、编码工具、测试工具、维护工具,支持面向对象方法的OOA工具、OOD工具和OOP工具等;独立于模型和方法的工具,如界面辅助生成工具和文档出版工具;亦可包括管理类工具和针对特定领域的应用类工具。
集成机制:对工具的集成及用户软件的开发、维护及管理提供统一的支持。
按功能可划分为环境信息库、过程控制及消息服务器、环境用户界面三个部分。
环境信息库:是软件开发环境的核心,用以储存与系统开发有关的信息并支持信息的交流与共享。
库中储存两类信息,一类是开发过程中产生的有关被开发系统的信息,如分析文档、设计文档、测试报告等;另一类是环境提供的支持信息,如文档模板、系统配置、过程模型、可复用构件等。
过程控制和消息服务器:是实现过程集成及控制集成的基础。
过程集成是按照具体软件开发过程的要求进行工具的选择与组合,控制集成并行工具之间的通信和协同工作。
环境用户界面:包括环境总界面和由它实行统一控制的各环境部件及工具的界面。
统一的、具有一致视感(Look & Feel)的用户界面是软件开发环境的重要特征,是充分发挥环境的优越性、高效地使用工具并减轻用户的学习负担的保证。
较完善的软件开发环境通常具有如下功能:(1)软件开发的一致性及完整性维护;(2)配置管理及版本控制;(3)数据的多种表示形式及其在不同形式之间自动转换;(4)信息的自动检索及更新;(5)项目控制和管理;(6)对方法学的支持。
什么是软件开发环境?
软件开发环境(Software Development Environment,SDE)是指在基本硬件和宿至软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。
它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。
展开全部 SDE在欧洲又叫集成式项目支援环境(Integrated Project Support Environment,IPSE)。
软件开发环境的主要组成成分是软件工具。
人机界面是软件开发环境与用户之间的一个统一的交互式对话系统,它是软件开发环境的重要质量标志。
存储各种软件工具加工所产生的软件产品或半成品(如源代码、测试数据和各种文档资料等)的软件环境数据库是软件开发环境的核心。
工具间的联系和相互理解都是通过存储在信息库中的共享数据得以实现的。
软件开发环境数据库是面向软件工作者的知识型信息数据库,其数据对象是多元化、带有智能性质的。
软件开发数据库用来支撑各种软件工具,尤其是自动设计工具、编译程序等的主动或被动的工作。
较初级的SDE数据库一般包含通用子程序库、可重组的程序加工信息库、模块描述与接口信息库、软件测试与纠错依据信息库等;较完整的SDE数据库还应包括可行性与需求信息档案、阶段设计详细档案、测试驱动数据库、软件维护档案等。
更进一步的要求是面向软件规划到实现、维护全过程的自动进行,这要求SDE数据库系统是具有智能的,其中比较基本的智能结果是软件编码的自动实现和优化、软件工程项目的多方面不同角度的自我分析与总结。
这种智能结果还应主动地被重新改造、学习,以丰富SDE数据库的知识、信息和软件积累。
这时候,软件开发环境在软件工程人员的恰当的外部控制或帮助下逐步向高度智能与自动化迈进。
软件实现的根据是计算机语言。
时至今日,计算机语言发展为算法语言、数据库语言、智能模拟语言等多种门类,在几十种重要的算法语言中,C&C++语言日益成为广大计算机软件工作人员的亲密伙伴,这不仅因为它功能强大、构造灵活,更在于它提供了高度结构化的语法、简单而统一的软件构造方式,使得以它为主构造的SDE数据库的基础成分——子程序库的设计与建设显得异常的方便。
事实上,以C&C++为背景建立的SDE子程序库能为软件工作者提供比较有效、灵活、方便、友好的自动编码基础,尤其是C++的封装等特性,更适合大项目的开发管理和维护。
软件开发环境可按以下几种角度分类: (1)按软件开发模型及开发方法分类,有支持瀑布模型、演化模型、螺旋模型、喷泉模型以及结构化方法、信息模型方法、面向对象方法等不同模型及方法的软件开发环境。
(2)按功能及结构特点分类,有单体型、协同型、分散型和并发型等多种类型的软件开发环境。
(3)按应用范围分类,有通用型和专用型软件开发环境。
其中专用型软件开发环境与应用领域有关,故又软件开发方法(Software Development Method)是指软件开发过程所遵循的办法和步骤。
软件开发活动的目的是有效地得到一些工作产物,也就是一个运行的系统及其支持文档,并且满足有关的质量要求。
软件开发是一种非常复杂的脑力劳动,所以经常更多讨论的是软件开发方法学,指的是规则、方法和工具的集成,既支持开发,也支持以后的演变过程(交付运行后,系统还会变化,或是为了改错,或是为了功能的增减)。
关于组成软件开发和系统演化的活动有着各种模型(参见软件生存周期,软件开发模型,软件过程),但是典型地都包含了以下的过程或活动:分析、设计、实现、确认(测试验收)、演化(维护)。
有些软件开发方法是专门针对某一开发阶段的,属于局部性的软件开发方法。
特别是软件开发的实践表明,在开发的早期阶段多做努力,在后来的测试和维护阶段就会使费用较大地得以缩减。
因此,针对分析和设计阶段的软件开发方法特别受到重视。
其它阶段的方法,从程序设计发展的初期起就是研究的重点,已经发展得比较成熟(参见程序设计,维护过程)。
除了分阶段的局部性软件开发方法之外,还有覆盖开发全过程的全局性方法,尤为软件开发方法学注意的重点。
对软件开发方法的一般要求:当提出一种软件开发方法时,应该考虑许多因素,包括:①覆盖开发全过程,并且便于在各阶段间的过渡;②便于在开发各阶段中有关人员之间的通信;③支持有效的解决问题的技术;④支持系统设计和开发的各种不同途径;⑤在开发过程中支持软件正确性的校验和验证;⑥便于在系统需求中列入设计、实际和性能的约束;⑦支持设计师和其他技术人员的智力劳动;⑧在系统的整个生存周期都支持它的演化;⑨受自动化工具的支持。
此外,在开发的所有阶段,有关的软件产物都应该是可见和可控的;软件开发方法应该可教学、可转移,还应该是开放的,即可以容纳新的技术、管理方法和新工具,并且与已有的标准相适应可称为应用型软件开发环境。
⑷按开发阶段分类,有前端开发环境(支持系统规划、分析、设计等阶段的活动)、后端开发环境(支持编程、测试等阶段的活动...
软件开发是什么
软件开发的内容是:需求、设计、编程和测试!需求:不仅仅是用户需求,应该是开发中遇到的所有的需求。
比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据......为了清楚地知道这些需求,你经常要和客户、项目经理等交流。
设计:编码前,肯定有个计划告诉你要做什么,结构是怎样等等。
你一定要按照这个来做,否则可能会一团糟。
编程:如果在项目截止日,你的程序不能跑起来或达不到客户的要求,你就拿不到钱。
测试:目的是让你知道,什么时候算是完成了。
如果你聪明,你就应该先写测试,这样可以及时知道你是否真地完成了。
否则,你经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。
软件开发中,客户和开发人员都有自己的基本权利和义务。
客户: 定义每个用户需求的商业优先级; 制订总体计划,包括用多少投资、经过多长时间、达到什么目的; 在项目开发过程中的每个工作周,都能让投资获得最大的收益; 通过重复运行你所指定的功能测试,准确地掌握项目进展情况; 能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调整项目计划; 能够随时取消项目;项目取消时,以前的开发工作不是一堆垃圾,已开发完的功能是合乎要求的,正在进行或未完成的的工作则应该是不难接手的。
开发人员: 知道要做什么,以及要优先做什么; 工作有效率; 有问题或困难时,能得到客户、同事、上级的回答或帮助; 对工作做评估,并根据周围情况的变化及时重新评估; 积极承担工作,而不是消极接受分配; 一周40小时工作制,不加班。
软件开发过程可以包括以下6个阶段:计划 对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源(如计算机硬件、系统软件、人力等)成本,可取得的效益和开发进度作出估计。
制订完成开发任务的实施计划。
分析 软件需求分析就是回答做什么的问题。
它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。
本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。
需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。
本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。
设计 软件设计可以分为概要设计和详细设计两个阶段。
实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。
可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。
模块,然后进行模块设计。
概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。
详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。
编码 软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的"源程序清单"。
充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。
而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。
测试 软件测试的目的是以较小的代价发现尽可能多的错误。
要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。
如何才能设计出一套出色的测试用例,关键在于理解测试方法。
不同的测试方法有不同的测试用例设计方法。
两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。
结构错误包括逻辑、数据流、初始化等错误。
用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。
白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。
其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。
黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。
黑盒法。
维护 维护是旨在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。
即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。
编写软件问题报告、软件修改报告。
一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持...
软件开发公司都有哪些
一般来讲软件被划分为系统软件、应用软件,其中系统软件包括操作系统和支撑软件(微软近期又发布嵌入式系统,即硬件级的软件,是电脑及其它设备运算速度更快更节能) 软件的真正含义 程序设计的最终结果是软件。
软件界面软件是用户与硬件之间的接口界面。
用户主要是通过软件与计算机进行交流。
软件是计算机系统设计的重要依据。
为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须全局考虑软件与硬件的结合,以及用户的要求和软件的要求。
1.运行时,能够提供所要求功能和性能的指令或计算机程序集合。
2.程序能够满意地处理信息的数据结构。
3.描述程序功能需求以及程序如何操作和使用所要求的文档。
系统软件 系统软件为计算机使用提供最基本的功能,可分为操作系统和支撑软件,其中操作系统是最基本的软件; 系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。
系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
1.操作系统是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。
操作系统身负诸如管理 触摸屏查询软件与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。
操作系统也提供一个让使用者与系统交互的操作接口。
★操作系统分为BSD 、DOS 、Linux 、Mac OS、OS/2 、QNX 、Unix、Windows等。
2.支撑软件是支撑各种软件的开发与维护的软件,又称为软件开发环境(SDE)。
它主要包括环境数据库、各种接口软件和工具组。
著名的软件开发环境有IBM公司的Web Sphere,微软公司的等。
★包括一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具)。
应用软件 但是系统软件并不针对某一特定应用领域。
而应用软件则相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
应用软件是为了某种特定的用途而被开发的软件。
它可以是一个特定的程序,比如一个图像浏览器。
也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。
也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。
★较常见的应用软件有: 行业管理软件 :如电脑行业管理软件开龙IT200 、商软ERP等; 文字处理软件 :如Office、 openoffice、 WPS、永中office等 ; 信息管理软件 :如Assces数据库、mysql数据库等; 辅助设计软件 :如AutoCAD、caxa、Photoshop 、SolidWorks、CATIA,pro/e、UG等; 媒体播放软件:如暴风影音、QQ影音、kmplayer、豪杰超级解霸、Windows Media Player、RealPlayer等; 系统优化软件:如windows优化大师、超级兔子魔法设置等; 实时控制软件 :如KingACT 教育与娱乐软件 :如考试宝典、游戏; 图形图像软件 :coreldraw ,painter,GIMP(linux下),3DS MAX,MAYA,softimage|xsi,lightwave,cineme 4d,Houdini ,ADOBE公司的:Photoshop、Illustrator、Acrobat、Reader、Golive、Indesign、Creative Suite、Pagemaker、After Effects、Premiere、Font Folio、Adobe Framemaker、Flex、InCopy、Audition、SoundBooth、Captivate、Dreamweaver、Flash、Fireworks、LiveCycle Enterprise Suite (ES); 数学软件:Mathematica,Maple,Matlab,MathCad; 统计软件:SAS,SPSS 后期合成软件 :after effects,combustion,digital fusion,shake,flame ; 杀毒软件 :如:国外品牌,诺顿 、卡巴斯基、Webroot Antivirus、G DATA AntiVirus、F-Secure Anti-Virus、麦克菲(McAfee?)、nod32、tiesaimenke、赛门铁克、大蜘蛛、Trend Micro AntiVirus、驱逐舰、Vipre Antivirus + Antispyware 、AVG Anti-Virus、ParetoLogic Anti-Virus PLUS、小红伞、比特梵德等; 国内品牌,金山毒霸,江民,瑞星,360、可牛、东方微点、安博士等; 通信协作软件:电子邮件软件,传真软件,群件软件,通信软件,远程控制软件; 管理效率软件:个人信息管理软件,财务软件,ocr软件,文档软件,项目管理软件。
手机软件 顾名思义,所谓手机软件就是可以在安装在手机上的软件,完善原始系统的不足与个性化。
随着科技的发展,现在手机的功能也越来越多,越来越强大。
不是像过去的那么简单死板,目前发展到了可以和掌电脑相媲美.手机软件与电脑一样,下载手机软件时还要考虑你购买这一款手机所安装的系统来决定要下相对应的软件.目前手机主流系统有以下:Symbian、Linux、Research in Motion、Windows Mobile.但是在2007年,苹果推出了运行自己软件的iPhone;Google宣布将在明年推出Android手机操作系统平台。
二种新操作系统的进入改变了一些手机运营商的计划,为最终用户造成了一些麻烦,给应用软件开发人员带来了更大的挑战,表明了手机产业的一些基本变化。
常用手机软件:GPRS Helper、UCWEB、移动QQ、GGLIVE编辑本段使用许可 不同的软件一般都有对应的软件授权,软件的用户必须在同意所使用软件的许可证的情...
有哪些是做软件开发比较好的公司?
“定制软件”在国外是为大、中、小企业所广泛采用的一种软件开发形式,在我国,由于经济环境和传统管理方式的不同,定制软件还是一种新生事物。
实际上,大多数企业由于自身的历史和业务状况,对于软件系统会有自身特殊的要求,而市场上的通用软件,一方面价格可能对一些企业来说难以承受,另一方面功能可能难以兼顾到企业的个性化需求,因此不少企业转向定制开发, 具体地说,定制开发就是根据企业的具体情况,具体要求,设计软件系统,提供相应的服务。
随着企业信息化水平的提高,已经有很多企业意识到了使用专用软件可以大大提高资金使用率、提高员工的工作效率、降低成本、同现有业务接轨,致电一八七三而零一四尔吴零。
即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。
第一步:需求调研分析1.相关系统分析员向用户初步了解需求,然后用word列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界2. 系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。
这次的文档会清楚利用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的界面和界面功能。
3. 系统分析员向用户再次确认需求。
第二步:概要设计首先,开发者需要对软件系统进行概要设计,即系统设计。
概要设计需要对软件系统的设计 进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、 运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。
第三步:详细设计在概要设计的基础上,开发者需要进行软件系统的详细设计。
在详细设计中,描述实 现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。
应当保证软件的需求完全分配给整个软件。
详细设计应当足够详细,能够根据详细设计报告进行编码。
第四步:编码在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。
第五步:测试测试编写好的系统。
交给用户使用,用户使用后一个一个的确认每个功能。
第六步:软件交付准备在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。
《用户安装手册》应详细介绍安装软件对运行环境的要求、安装软件的定义和内容、在客户端、服务器端及中间件的具体安装步骤、安装后的系统配置。
《用户使用指南》应包括软件各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等方面的内容,在需要时还应举例说明。
第七步:验收第八步:用户验收
什么是软件开发平台?
我觉得吧软件开发平台可以理解为是软件开发工具的升级产品。
最早的代码开发免不了做些对象、接口之类重复定义工作,将这些整合后就形成了开发工具,再后来将开发过程中的数据配置、运行检测、界面定义、权限控制...等等所有的步骤都集中在一个开发环境下就形成了软件开发平台。
如今的开发平台很多,基本上可以分为技术.NET技术和JAVA技术的两大阵营,个人认为.NET的东西是微软拼凑起来的,比较零散,学起来有点吃力,目前看JAVA阵营占据一定优势,其中主流的JAVA开发平台是起步科技的JUSTEP X5,且他们的产品面向个人用户完全免费,还有定期的免费培训,我基本上两天时间了解下来摸着就能做做小东西了,希望对你有所帮助。
楼主我回答了这么多了,能把分奖励给我吧。
...
小强丶丶