软件工程及软件方法学
-
串行端口技术李肇庆,韩涛编著本书系统地介绍了串行通信技术的基本知识以及如何应用串口进行通信。书中基本上包含了应用串口进行通信的绝大多数问题。其中包括串行通信基础知识介绍;计算机中的串行端口的介绍以及串口中的接收器、发送器的介绍;详细介绍了RS-232标准、RS-232电路的连接以及完整的RS-232电路的设计;结合实例介绍了当今在RS-232电路设计中采用的先进技术;详细介绍了控制和管理串口中所经常用到的几种编程语言,并结合实例进行了说明,包括使用VB的MSComm控件对串口的编程,通过Basic Stamp微控制器的应用详细说明了串口编程的步骤,用Win32API进行通信编程,Windows下应用多线程以及用MSComm控件对调制解调器的控制,用TAPI编写通信程序。由RS-232发展而来的RS-422/RS-485书中也做了介绍。USB和IEEE 1394是当前流行的两大高速串行总线标准,本书也作了简要的介绍。本书内容全面,取材新颖,叙述清楚.理论联系实际,通过实际的电路设计以及示例程序使读者能在阅读本书之后独立地进行串口通信的硬件以及软件设计。本书适合于程序员、硬件设计者、系统测试维修人员、实验人员、在校师生及使用串口连接的计算机设备的用户阅读。 -
用户中心设计——集成化方法(美)Karel Vredenburg,(美)Scott Isensee,(美)Carol Righi著;冯博琴,薛亮,叶茂译本书针对“以用户为中心的设计(UCD)”提供一种集成化方法,以使各类工业产品的最终用户可以易购、易学、易用、易获支持、易版本更新、易增收益,使用户感受到产品的简洁、精致与功能的强大。本书内容集中在设计一种引人注目的“全用户体验”方法,以用户对最终产品或系统的所见、所闻及所感为出发点考虑设计方法。它使任何产业的产品或服务取得良好的口碑,使用户有优化的、全方位的体验。本书是作者多年丰富工作经验的总结,书中所述方法在千余项目中得到成功运用。所涉及的产品从大型机到集成电路,从便携机到网络应用设备,从数据库软件到语音识别软件,从普通网站构建到奥运网站建设,在全世界范围内的咨询项目(医疗保健、金融证券、航空事业、保险业、汽车制造业及零售业等行业)中得到验证。主要内容包括:能带来突破性增益的针对UCD的完整的周期化方法;现有产品评测、机构评定以使其适用UCD方法;提高用户感知舒适度;在外延型/内适型应用环境下的软件设计、硬件设计、网站建设和服务中应用UCD;当前UCD优化及未来影响产品因素的趋势预测。本书适用于计算机系统用户界面设计、人机工程、系统设计类课程。本书所附光盘包括几种UCD从业者工具、样例示例、.AVI格式短片,以介绍关键UCD概念、记录UCD度量的详细模板及开展UCD活动的工具。 -
软件体系结构张友生编著自从软件系统首次被分成许多模块,模块之间有相互作用,组合起来有整体的属性,软件就具有了体系结构。好的开发者常常会使用一些体系结构模式作为软件系统结构设计策略,但他们并没有规范地、明确地表达出来,这样就无法将他们的知识与别人交流。软件体系结构是设计抽象的进一步发展,满足了更好地理解软件系统,更方便地开发更大、更复杂的软件系统的需要。本书系统地介绍软件体系结构的基本原理、方法和实践,全面反映软件体系结构研究和应用的最新进展。既讨论软件体系结构的基本理论知识,又介绍软件体系结构的设计和工业界应用实例,强调理论与实践相结合。全书共七章,第一章简单地介绍软件体系结构的概念、发展和应用现状;第二章讨论软件体系结构建模,包括视图模型、核心模型、生命周期模型和抽象模型:第三章介绍软件体系结构的风格和特定领域软件体系结构;第四章讨论软件体系结构的描述方法,重点介绍软件体系结构描述语言;第五章讨论基于体系结构的软件开发方法,介绍基于体系结构的软件过程;第六章讨论软件 -
创新式摧毁力方兴东著*网络股突飚独升,互联网成为全世界的造梦工厂。网络股一路狂跌,互联网的光芒似乎一下子黯然失色。互联网资本市场与实际产业为何会有巨大的差?*无论媒体对互联网如何评价,也无论你对互联网是爱是恨,都不能改变互联网的残酷面目:互联网本质上是一种创新式摧毁力!它必将改变整个市场经济社会的游戏规则。互联网将重新界定商业价值的流向,传统的商业价值链将重新解构,甚至被颠覆。*本书全面描绘了1999年和2000年的互联网浪潮,论述了互联网颠覆世界的摧毁力,并对生存法则、经济规则、投资观念、市场机制、商业模式产生巨大的变革。同时还具体论述了互联网对信息产业及传统产业的冲击,描绘了互联网下的中国图景。 -
数据结构与算法李乔祥编著高等学校21世纪计算机教材。本书既可作为计算机专业的本科或专科教材,也可作为信息类相关专业的选修教材,还可作为从事计算机应用相关工作科技人员的参考书。 -
现代软件工程郭荷清主编本书根据教学、科研和工程项目的经验编写,共分三大部分。第一部分软件工程的基本原理包括可行性研究、软件需求工程、软件设计工程、软件测试工程和软件维护工程;第二部分软件工程方法包括传统开发方法、快速原型开发方法、面向对象开发方法和Web技术开发方法;第三部分软件工程管理包括软件质量管理、软件项目管理、软件配置管理和软件安全管理。全书较全面地反映软件工程的全貌,既兼顾了传统内容又包括新技术的发展,便于读者学习。本书可作为高等学校计算机科学专业、计算机软件专业和计算机应用技术专业的教材,也可供软件开发人员与软件管理人员作参考。 -
使用UML进行面向对象的项目管理(美)Murray Cantor著;徐晖等译循序渐进地指导你走过一个面向对象项目的完整的生命周期几乎所有的软件项目都具有风险性,因此,项目经理的目标就是在满足客户需求的同时,采用某种方法来解决成本和进度的不确定性。在本书中,Murray Cantor描述了一种一流的、基于UML的方法来管理面向对象的项目,以保证在预算内准时交付高质量软件。Cantor根据他在IBM和TASC公司期间管理主要软件项目的经验,向大家讲述以下内容:·一种历经考验的方法,利用UML工具的优点来克服在大部分项目中遇到的难题,并提交一个优化的面向对象的系统。·在项目计划、风险管理、进度安排、阶段预算等方面,用传统方法来集成基于对象技术的一些技巧。·对如何处理在项目开发过程中出现的重要的“人际关系”问题,提供专家级意见。·真实的开发经历让你直接体会到几个重要的开发项目中什么是有效的,什么是无效的。·一个全程项目实例,带你走过一个项目的每一阶段,按照问题和解决办法的方式来讲述。访问本书配套网站http://www.wiley.com/compbooks/cantor,可以发现:·用来管理用例和工作拆分结构的项目进度安排、预算和数据库平台的样本。·一个管理增量开发的电子版业务手册。·一个开发跟踪图。本书介绍了如何使用面向对象方法学进行项目管理。本书分三个部分。第一部分包括前4章,介绍了软件项目管理的重要原则、统一建模语言以及它在软件开发过程中的使用、软件开发生命周期模型等基础内容。本书的第二部分包括第5章至第8章,讨论了软件开发中与各阶段联系的各种概念的应用,详细讨论了UML软件开发过程的所有阶段和活动。第三部分介绍了如何评估及报告项目状态,并且提供各种平均值、预算和开发的评估方法检验项目是否沿着轨道前进。书中还有一个软件开发工程项目的例子,贯穿整本书中。本书可作为管理面向对象开发的参考书,适合于开发人员、项目经理、软件工程研究人员阅读参考。 -
基于重用的软件工程(美)Hafedh Mili[等]著;韩柯等译;韩柯译1970年以来,软件生产率一直稳步提高,但是还不足以弥补人们对软件行业的要求和目前状况之间的差距。今天,由于软件成本在计算机系统成本中的比例持续升高,又由于软件缺陷仍然是很多常见故障的原因,因此能够促进软件质量和开发生产率有一个数量级改进的任何措施,都会把软件行业从长期的危机状态中解救出来。基于重用的软件工程自从20世纪60年代末以来,一直被炒作为“近期”可以提供这种改进的惟一实用和现实的途径。本书将介绍基于重用的软件工程各个方面的最新状况和实践,并努力解释这种所谓“近期”为什么迟迟不能到来的原因,以及如何解决有关的问题。软件重用的理论研究和实践,在软件发达国家已经有了一定的历史。实践证明,软件重用是从根本上提高软件生产率、降低成本、提高质量的有效途径;同时也说明,软件重用需要在关键技术、管理、指标等很多方面引入注重实效的变革。本书讨论了基于重用的软件工程实践模型和其他有关的基础问题;全面介绍了基于重用的软件工程的当前状态和未来;比较全面地讨论了重用的关键技术、管理和组织问题;详细论述了这些理论知识在基于组件的软件开发生命周期和产品线工程中的运用问题。本书非常适合计划推进本单位软件重用实践的管理和技术人员阅读。相信本书对高校计算机应用专业研究生和高年级本科生也有很好的参考价值。 -
UML和模式应用(美)Craig Larman著本书是当今最畅销的介绍面向对象的分析/设计、迭代开发和UML的书籍。本书的目的是帮助开发人员或学生掌握关于面向对象的分析和设计的核心原理和最佳实践,并将它们真正应用到软件设计中去。本书的作者是颇有声望的对象技术和迭代方法的领军人物。本书在第一版的基础上做了全面的修订,增加了新的案例研究,更新了关于模式、用况、统一过程、架构分析等的探讨。前言PrefaceThankyouforreadingthisbook!Thisisapracticalintroductiontoobject-orientedanalysisanddesign(OOA/D),andtorelatedaspectsofiterativedevelopment.IamgratefulthatthefirsteditionwasreceivedasapopularintroductiontoOOA/Dthroughouttheworld,translatedintomanylanguages.Therefore,thissecondeditionbuildsuponandrefines-ratherthanreplaces-thecontentinthefirst.Iwanttosincerelythankallthereadersofthefirstedition.Hereishowthebookwillbenefityou.Designrobustandmaintainableobjectsystems.First,theuseofobjecttechnologyhasproliferatedinthedevelopmentofsoftware,andmasteryofOOA/Discriticalforyoutocreaterobustandmaintainableobjectsystems.Followaroadmapthroughrequirements,analysis,design,andcoding.Second,ifyouarenewtoOOA/D,youareunderstandablychallengedabouthowtoproceedthroughthiscomplexsubject;thisbookpresentsawell-definedroadmap-theUnifiedProcess-sothatyoucanmoveinastep-by-stepprocessfromrequirementstocode.UsetheUMLtoillustrateanalysisanddesignmodels.Third,theUnifiedModelingLanguage(UML)hasemergedasthestandardnotationformodeling;soitisusefulforyoutobeconversantinit.ThisbookteachestheskillsofOOA/DusingtheUMLnotation.Improvedesignsbyapplyingthe"gang-of-four"andGRASPdesignpatterns.Fourth,designpatternscommunicatethe"bestpractice"idiomsandsolutionsthatobject-orienteddesignexpertsapplyinordertocreatesystems.Inthisbookyouwilllearntoapplydesignpatterns,includingthepopular"gang-of-four"patterns,andtheGRASPpatternswhichcommunicatefundamentalprinciplesofresponsibilityassignmentinobjectdesign.Learningandapplyingpatternswillaccelerateyourmasteryofanalysisanddesign.Learnefficientlybyfollowingarefinedpresentation.Fifth,thestructureandemphasisinthisbookisbasedonyearsofexperienceintrainingandmentoringthousandsofpeopleintheartofOOA/D.Itreflectsthatexperiencebyprovidingarefined,proven,andefficientapproachtolearningthesubjectsoyourinvestmentinreadingandlearningisoptimized.Learnfromarealisticexercise.Sixth,itexhaustivelyexaminesasinglecasestudy-torealisticallyillustratetheentireOOA/Dprocess,andgoesdeeplyintothornydetailsoftheproblem;itisarealisticexercise.Translatetocode.Seventh,itshowshowtomapobjectdesignartifactstocodeinJava.Designalayeredarchitecture.Eighth,itexplainshowtodesignalayeredarchitectureandrelatethegraphicaluserinterfacelayertodomainandtechnicalserviceslayers.Designaframework.Finally,itshowsyouhowtodesignanobject-orientedframeworkandappliesthistothecreationofaframeworkforpersistentstorageinadatabase.ObjectivesTheoverarchingobjectiveisthis:Helpstudentsanddeveloperscreateobjectdesignsthroughtheapplicationofasetofexplainableprinciplesandheuristics.Bystudyingandapplyingtheinformationandtechniquespresentedhere,youwillbecomemoreadeptatunderstandingaproblemintermsofitsprocessesandconcepts,anddesigningasolidsolutionusingobjects.IntendedAudienceThisbookisanintroductiontoOOA/D,relatedrequirementsanalysis,andtoiterativedevelopmentwiththeUnifiedProcessasasampleprocess;itisnotmeantasanadvancedtext.Itisforthefollowingaudience:Developersandstudentswithexperienceinanobject-orientedprogramminglanguage,butwhoarenew—orrelativelynew—toobject-orientedanalysisanddesign.Studentsincomputerscienceorsoftwareengineeringcoursesstudyingobjecttechnology.ThosewithsomefamiliarityinOOA/DwhowanttolearntheUMLnotation,applypatterns,orwhowanttosharpenanddeepentheiranalysisanddesignskills.PrerequisitesSomeprerequisiteknowledgeisassumed—andnecessary—tobenefitfromthisbook:Knowledgeandexperienceinanobject-orientedprogramminglanguagesuchasJava,C#,C++,orSmalltalk.Knowledgeoffundamentalobjecttechnologyconcepts,suchasclass,instance,interface,polymorphism,encapsulation,interfaces,andinheritance.Fundamentalobjecttechnologyconceptsarenotdefined.JavaExamplesIngeneral,thebookpresentscodeexamplesinJavaordiscussesJavaimplementations,duetoitswidespreadfamiliarity.However,theideaspresentedareapplicabletomost—ifnotall—object-orientedprogramminglanguages.BookOrganizationTheoverallstrategyintheorganizationofthisbookisthatanalysisanddesigntopicsareintroducedinanordersimilartothatofasoftwaredevelopmentprojectrunningacrossan"inception"phase(aUnifiedProcessterm)followedbythreeiterations.Theinceptionphasechaptersintroducethebasicsofrequirementsanalysis.Iteration1introducesfundamentalOOA/Dandhowtoassignresponsibilitiestoobjects.Iteration2focusesonobjectdesign,especiallyonintroducingsomehigh-use"designpatterns."Iteration3introducesavarietyofsubjects,suchasarchitecturalanalysisandframeworkdesign.Web-RelatedResourcesPleaseseewww.craiglarman.comforarticlesrelatedtoobjecttechnology,patterns,andprocess.Someinstructorresourcescanbefoundatwww.phptr.com/larmanEnhancementstotheFirstEditionWhileretainingthesamecoreasthefirstedition,thesecondisrefinedinmanyways,including:UsecasesareupdatedtofollowtheverypopularapproachofCockburn1.Thewell-knownUnifiedProcess(UP)isusedastheexampleiterativeprocesswithinwhichtointroduceOOA/D.Thus,allartifactsarenamedaccordingtoUPterms,suchasDomainModel.Newrequirementsinthecasestudy,leadingtoathirditeration.Updatedtreatmentofdesignpatterns.Introductiontoarchitecturalanalysis.IntroductionofProtectedVariationsasaGRASPpattern.A5/5balancebetweensequenceandcollaborationdiagrams.ThelatestUMLnotationupdates.DiscussionofsomepracticalaspectsofdrawingusingwhiteboardsorUMLCASEtools.AbouttheAuthorCraigLarmanservesasDirectorofProcessforValtech,aninternationalconsultingcompanywithdivisionsinEurope,Asia,andNorthAmerica,specializingine-businesssystemsdevelopment,objecttechnologies,anditerativedevelopmentwiththeUnifiedProcess.Sincethemid198s,Craighashelpedthousandsofdeveloperstoapplyobject-orientedprogramming,analysis,anddesign,andassistedorganizationsadoptiterativedevelopmentpractices.Afterafailedcareerasawanderingstreetmusician,hebuiltsystemsinAPL,PL/I,andCICSinthe197s.Startingintheearly198s-afterafullrecovery-hebecameinterestedinartificialintelligence(havinglittleofhisown),naturallanguageprocessing,andknowledgerepresentation,andbuiltknowledgesystemswithLispmachines,Lisp,Prolog,andSmalltalk.Heplaysbadleadguitarinhispart-timeband,theChangingRequirements(itusedtobecalledtheRequirements,butsomebandmemberschanged...).HeholdsaB.Sc.andM.Sc.incomputersciencefromSimonFraserUniversityinVancouver,Canada.Craigcanbereachedatclarman@acm.organdwww.craiglarman.com -
UML工具箱(美)Hans-Erik Eriksson,(美)Magnus Penker著;俞俊平[等]译;俞俊平译本书的目的是为读者深入学习UML提供一个综合的、详细的指南。现在市面上有一些OMG(Object Management Group,对象管理组织,是面向对象领域的标准化领导机构),Booch, Rumbaugh和Jacobson的参考书,这些书的主要笔墨都放在了描述UML的最终定义上。而本书则试图以一种完整而实用的方式向读者展示UML语言,其中覆盖了所有已定义的图和概念。我们已经尽可能地去避免做理论上的探讨,并且在本书的文字中包括了大量的示例和示意图——毕竟这是一本介绍可视化建模语言的书。然而,要清楚明了地展示UML,就不能不从总体上讨论面向对象的建模和技术。因此,本书也花费了大量笔墨来介绍它们。我们也覆盖了实时系统、设计模式和过程以及其他一些有助于读者深入理解UML的重要话题。我们以一个案例学习来结束本书,此案例演示了如何在一个小型应用中使用UML。最后还给读者布置了一些练习,以便读者以不同的方式来扩展该案例学习。本书为读者深入学习UML提供了综合、详细的指南。?橐砸恢滞暾涤玫姆绞较蚨琳哒故綰ML语言,覆盖了所有已定义的图、概念、实时系统、设计模式、过程以及其他有助于读者深入理解UML的重要话题。书中包括大量的示例和示意图,有助于读者最大程度地快速获取UML的知识和技巧。本书适合所有对UML感兴趣的读者。
