



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、外文资料原文Software Development Concepts and DesignMethodologiesDuringthe1960s,ma inframesandhigherlevelprogramminglanguageswereappliedtoman yproblemsincludinghumanresourcesystems,reservationsyste ms,andmanufacturingsyste ms.Computersandsoftwarewereseen asthecureallforman ybu sinessissuesweresometimesapp
2、liedblindly.S yste mssometimesfailedtosolvetheproblemforwhichthe yweredesignedforman yreasons including:?Inability to sufficiently understand complexproblems?Notsufficientlytakingintoaccountend -u serneeds,theorganizationalenvironment, and performance tradeoffs?Inability to accurately estimate devel
3、opment time and operational costs?Lack of framework for consistent and regular customer communicationsAtthistime,theconceptofstructuredprogramming,top -downdesign,stepwiserefinement, andmodularityemerged.Structuredprogrammingisstillthe most dominant approach to software engineering and is still evol
4、ving. Thesefailures led to the concept of "software engineering" based upon the idea that anengineering-likedisciplinecouldbeappliedtosoftwaredesignanddevelopment.Softwaredesignisaprocesswherethesoftwaredesignerappliestechniquesandprinciplestoproduceaconceptualmodelthatde scribesanddefines
5、asolutiontoa problem.Inthe beginning,thisdesignprocesshasnotbeenwellstructuredandthemodeldoesnotalwaysaccuratelyrepresenttheproblemof softwaredevelopment.However,designmethodologieshavebeenevolvingtoaccommodatechangesintechnologycoupledwithourincreasedunderstanding of development processes.Whereasea
6、rlydesignmethodsaddressedspecificaspectsofthedevelopmentprocess,currentmethodsatte mpttoaddresstheentirescopeofsoftwaredevelopment.Softwaredesignmethodsareoftenclassifiedin1referencetotheperiodinwhichthe y wereintroducedandtheproblemsatthattime. Driven by coding and testing problems, tools and metho
7、ds were developed.Earlymethodsfocusedonmodularityandtop -downdevelopment,andinformationhidingthroughabstraction.Thisledtothedevelopmentofstructured languages, structured analysis, and data flow analysis.Inthelastdecadeorso,theexpenseinvolvedinautomationhasshiftedfromhardwaretopeople.Therefore,thesof
8、twareengineeringcommunityhasbeen focused on object oriented (O-O) design and the concept of re-usable codeinordertoreducethehumancostcomponent.InefficientdesignsanddevelopmentmethodologieshavebeenaddressedwithComputerAidedSoftwareEngineering(CASE)tools,andfourthgenerationdesignlanguages.Thishasbeend
9、oneinanattemptreplacethetraditionalwaterfalllifecycleprocess model under which most existing software has been developed.一 、 Software Design FundamentalsSoftwaredesignmethodsallaimtoprovidethesoftwaredesignerwithasystemblueprint.Thisblueprintusuallyhas threeaspects:data,architectural,and procedural.
10、?Datadesignrefers to thedata 'sorganization,relationships,accessandprocessing methods.?Architecturaldesigndefinesthe componentsofthe sys temandtheirrelationships.?Proceduraldesignbuildson thedata and architecturaldesignphasestodescribe the processing details of the syste m.Eventhoughtherearenume
11、rousdesignmethodologies,theirbasicconceptsarever y similar-Allsoftwaredesignmethodspartitiontheproblemandsoftwareintosmallerpiecesinordertoreducecomplexity.They allstrivetoidentifydatastructuresandfunctions,andprovidemeasur ementsforsoftwarequality.Someofthecommonprinciplesinsoftwaredesigninclude:st
12、epwiserefinement,softwarearchitecture,programstructure,datastructure,software procedures,mo du la r i ty,ab st r ac t i o n, an di n f or ma t io nh id i n g.2二、M odern D esi gn Methodol ogi esC on ve n t io na l sof t wa r e deve l o pme nt pr act ic es ca n gen er al l y b ema p ped o n to t h e t
13、r ad i tio n a l l i f e - c y cl e p hases o f anal ys i s, f u n c t i o n als p ec i f i c ati on , d esi gn , i mp l eme n ta ti o n, t est i n g, an d m ai n ten an c e. T h i st h o u g ht p r o c ess i s i n ad eq u a te f or t o d ay ' s c o m pl ex i n f o r m a t i on s y st em s. Asth
14、e demand for software is growing much faster than the number of developers,adhering to conventional techniques such as the waterfall method requires toomuch time, too many people,and is difficult to manage. Hence, many newsoftware development technologies have arisen.N ewl yd eve lo p edpr actic es
15、an dmo d els d o no tatte mp t tosep ar atep hases o f sof twa r e development, such asspecification and implementation, but instead focus on the concept ofprogramtransformation through stepwise refinement and iteration.1 、 O b j e ct - O r i en t ed Te c hn o l o g yObject-Oriented (O-O) software d
16、esign technology is fundamentallydifferent from the traditional methods described above. With traditional methods,each module is recognized amajor step in the overall process and the processgoes from one step to the next. On the otherhand, O-O design is structuredaround a model of objects and the fu
17、nctions they perform.O-OprogrammingcanbetracedtothesimulationlanguageSIMULA,a highlevellanguagedevelopedinthe late 60's that introducedobjectclassesasamethodtoencapsulatedata.Later,inthe1970s,Smalltalkwasintroducedasacomplete grapgh design and coding as detail is added to the design. This provid
18、esa commonlanguage throughouteach stagein deve lopment.O -Ois best appliedwithspecificallydesignedO-Odevelopmenttools,butitisimportanttorememberthatas a methodologyisit not specificto anyprogramminglanguage.Many different programming languages can be used to implement0-0 technologyand design methodo
19、logies.Insteadofproceduresandfunctionspassingdatabackandforth,inobjectorienteddesign,thesystem isviewedasa collectionofobjectswithmessagespassed from object to object. Each object has its own set of associated operations.3Object-orienteddesignisbasedontheideaofinformationhidingandmodularizationofbot
20、hdataandprocessing.Itisbestusedwhenneitherdatastructurenor processingoperationsare welldefinedahead oftime.Thisis quiteusefulintoday'sbusinessenvironmentwhererequirementsarealwayschangingandnotverywelldefined.Thus,ithasbecomequitepopular!Theconceptofobjectsperformingservicesis a naturalwayofthin
21、kingforbothdevelopersandcustomers.This facilitates understandingthe problemdomainand amore naturaldesign. In addition, there are many benefits of object-oriented development. Theseinclude:?I n h e r i t an c ec a p i t a l i z eso nt h ec o m m o n a l t yo fa t t r i b u t e sa n ds e r v i c e s a
22、 l l o w i n gc o d ean d objects to be re-used. I n f o r m a t i o nh i d i n gm a k e ss y s t e m sm o r es t ab l e b yl o c al i z i n gc h a n g e st oo b j e c t s a n d t h er e b ym a k i n g t h e m r e u s a b l e.T h eo b j e c t - o r i en t e dd e v e l o p m en tp r o c es si sc o n
23、s i s t en tf r o ma n a l y s i s ,t h r o u g h d es i g n , t oc o d i n g.More information on Object Oriented Programming principles can be foundinChapter4-OrganizationofProgrammingLanguagesandProgrammingConcepts.2 、P r ot o ty p i n gPrototyping was invented because end users participating in t
24、he developmentphasefounditdifficulttounderstandrequirementspecificationsandconceptual models. However, when it first began being used in the 1980s, mostconventional life cycle developers considered itexpensive and time consuming.S i n c eth att i m e,user sandd e v el o p er sh av eu se dp r o t ot
25、y p e ss u cc essf u l l yasacommunicationstooltodemonstratesystemrequirements.After several prototype iterations, developers have a better understanding of userrequirements and users have a better idea of how the system will eventually work,look, andl.T h e n u mb er o ft i me s th e p r oto t yp e
26、 isin c r eme n tal l y r ef in edh o w we l l th e user r equ i r e me n ts an d un de r st ood.I t als o d ep en dsd ep end s o n o n th e u s er s4n eed to ad d r eq u ir eme n tsor c h an g ep r ev i o u sl y st at edr equ i r em ent s. A f t erest abl i s h i n g a n o v er al l a r c h i t ec
27、t u r e a n d f r ame w o r k , t hesys t em i s d ev el o pedan d d el i v er ed inin c r eme n ts. U ser s ma y e x pe r i me n t w i th an d u sed el i v er edi n cr eme n t sw h i l eo t h er sar eb ei ngd ev el o p ed.Fo ri n st anc e ,t hef i r stp r ot o typ e ma y b ed el i v er e d t ha ti
28、m p l e m en t s a ce r t a i n sc r eenw i t ho nl yso m e a ct i v e m en ui t e m s.W h i l eu s er s ar eex p er i me n t i n g w i t h th i s sc r eenan d me n ui tems ,o t h ersc r een sandme nui temsar eco n c ur r e n tl yb ein gd ev el op edwh i c hla t erw il l beco mb in ed w i th th eex
29、is t in g p r o to t yp eas itevo l v es.O n c e t he u se r i s s a t i sf i e d t h at t h e p r o t o t y p e m e e t s r e qu i r e m e nt s , t h ep r o t o t y p e i st r an sf o r me di n to th e " sys t em".T hi s eff or td ep end s o n sev er alf acto r s. I t ma y i n clu de a d
30、di n g f u n ct i o n a l i t yt ha tw a sn ' t i n i t i a l l y r ec og n i z edas r e q u i r ed ,r ep l ac i n g i n e f f i c i e n t p a r t s oft he p r ot o t yp e t o me etp er f o r ma n cec r i t er i a, o radap ti ng th ep r o t ot yp eto f i tt h eu ser 'sh ar d w ar een vi r o
31、n me nt.Pr o t o t y p i n g c an b eg i n v e r y e ar l y,a f t ers o m e p r e l i m i n ar y r equ i r e m e nt san al y si s h asd e ter m i n edth e b asi c f u n ct i o n al i t y,sc op e,an den v i r o n m en to ft h e p r o po s edso f tw ar e. C o nt r ar y to t h etr adi t i on a l w at e
32、r f al lme th od , i nt h ep r ot o typ i n g,f u n ct i o n alsp eci f i c at i o n sar en otf i x ed.R at h er,us er sar een co u r ag edt om o d i f yt h ei rr eq u i r e m en t sast he yt h em se l v e sb eg i nt ou n d er st an dt h emb et te r. T h i si s b ec a useu ser so f t en do n 't
33、r eal l yk n oww hatt h eyw an tu n ti lt heyseei to nt he s cr een.T h ep r o t ot yp i ngp r o c es s o fd emo n s tr a ti o n , r ev i ew,andr ef i n eme n tge t sth e u s er m or e i nv o l v edi n t h ed ev el op m en tpr o ces s,g i v i n gt h ema s en s e ofo w n er shi p d u r i ngth e p r o
34、 c essan da tf i n alsy st em d el i v er y.H o w ev e r,d u eto t h em i n d seto f " pr o to t y p e " ,u ser so f t enf in di td iff ic ul ttove r if yth atth ep r oto typ esatis f ie sth eirr equ ir eme n ts.T her ef o r e, g u id el in es mu st b e e st ab l i shed t o d e te r m in e
35、 wh en t osto pi te r a t in g andth epr o to t yp e tof in alp r o duc t.5外文资料译文软件开发概念和设计方法在 20 世纪 60 年代,大型机和高级程序语言被用来解决包括人力资源系统、专有系统和制造系统等许多问题。计算机和软件被视为解决所有商业问题的万能药,有时候甚至被盲目的应用。因为很多设计上的原因,这些系统并不是万能的。主要因素如下:1不能完全理解复杂的问题2没有充分满足终端用户的需求,组织环境和性能折中3没有准确估计开发时间和运行成本4缺乏一致,规范的客户通讯框架这个时候,结构化的编程,自上而下设计的概念出现了。
36、对软件工程来说,结构化编程至今仍是最重要的方法且不断发展。“软件工程”概念的出现则是基于这样的构想:一个类似工程学的学科可以应用于软件的设计和开发。软件设计是一种方法,软件设计人员可以籍此应用技术和规则生成一种描述并定义问题解决方法的模型。最初,设计方法一直未能构建好,而且模型也不能准确地描述软件开发的问题。然而,随着我们对开发过程的深入理解,设计方法已经不断适应技术的变化了。生命周期过程的模型下开发的,但人们开始尝试寻找这种模型的替代品。一、软件设计基础软件设计方法最终的目标就是向软件设计者提供一张系统蓝图。它通常有三个方面:数据,构架和过程。数据设计指的是数据的组织、关系、访问和处理方法。
37、构架设计定义系统组件和它们之间的关系。过程设计建立在数据和构架设计阶段之上描述系统的处理细节。尽管设计方法众多,但它们的基本概念非常相似。为了减少复杂度,几乎所有软件设计方法都把问题和软件分割成较小的部分用于标识数据结构、功能以及度量软件品质。软件设计包括以下这些普遍原则:逐步求精、软件构架、6程序结构、数据结构、软件过程、模块化、抽象和信息隐藏。二、现代设计方法常规的软件开发实践通常能被映射到传统的生命阶段上,包括分析、功能说明、设计、实现、测试和维护。然 而对软件需求的增长比软件开发者数量增长要快,遵守常规的技术你瀑布模型)耗时太长,过多人员的参与也带来了管理上的困难,显然常规的思考过程对
38、于今天的复杂信息系统是不够的。因此,产生了许多新的软件开发技术。最新发展出的实践和模型井不试图把软件开发分割成多个阶段(如说明和实现),而是注重于通过逐步求精和迭代把概念转换成程序。1、面向对象的技术面向对象的软件设计技术从根本上有别于传统的设计方法。传统方法中,每个模块被当作全局过程的一个主要步骤,一步一步地往下走;而面向对象的设计围绕着对象模型和对象所执行的功能进行结构化。面向对象的编程可以追溯到仿真语言 SIMULA。SIMULA 是一种 20 世纪 60 年代后期的高级语言,引入了“对象类”作为封装数据的方法。到了 20 世纪 70年 代 , Smalltalk被 作 为 一 种 完
39、全 的 图 形 用 户 界 面 ( GUI )面 向 对 象 的 编 程 环境 被 引 入 。甚 至 在 30 年 以 后 , Smalltalk 仍 然 是 度 量 其 他 所 有 面 向 对 象 语 言的标准。由于面向对象的概念日趋成熟,最近十年这种软件开发方法已经流行起来。同时,软件业注意的焦点己经从编码和结构化过程转移到通过设计和柔韧性来节省劳动力成本和时间。柔韧性变得十分关键,因为系统随着需求的变化而快速改变:变得更大,更复杂和更不稳定。在面向对象中,分析和设计没有真正分开。在分析期间,系统对象及其特性和关系一起被确定。这些对象可以护,这样就给整个开发过程中的所有阶段提供了一种公用的语言。采用面向对象方法最好是使用专门设计的面向对象的开发工具,但是请一定记住它是一种方法而不是特指任何编程语言。许多不同的编程语言都可以用来实现面向对象技术和设计方法。和过程、功能往返传递数据的方式不同,在面向对象的设计中,系统被看成一个由很多互相传递消息的对象组成的集合,每个对象都有它自己关联操作的集合。面向对象的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六一活动饰品活动策划方案
- 六一游戏室活动方案
- 六一理财活动方案
- 六一粉丝活动策划方案
- 六一节公司活动策划方案
- 六一节慰问活动策划方案
- 六一走进大自然活动方案
- 六一酒吧活动方案
- 六七十年代学生活动方案
- 六五环境日系列活动方案
- xx县精神病医院建设项目可行性研究报告
- ECMO技术参数要求
- 城市轨道交通供电技术442页完整版教学课件汇总全书电子教案
- 高填深挖路基稳定性监控观测方案
- 安全标准化现场评审所需资料清单(共14页)
- 班组会议运作技巧ppt课件
- 链家房屋买卖合同范本(共10篇)
- 柱上变压器台与设备安装标准
- 技术比武理论复习题(继电保护)
- 锯齿形板式热水冷却器的设计3.
- 科室医疗质量安全管理与持续改进记录本模板.doc
评论
0/150
提交评论