《软件工程实践者的研究方法chapter09》由会员分享,可在线阅读,更多相关《软件工程实践者的研究方法chapter09(43页珍藏版)》请在金锄头文库上搜索。
1、These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.1Chapter 9nComponent-Level DesignSlide Set to accompanySoftware Engineering: A Practitioners Approach, 7/e by Roger S. PressmanSlides copyright 1996
2、, 2001, 2005, 2009 by Roger S. PressmanFor non-profit educational use onlyMay be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioners Approach, 7/e. Any other reproduction or use is prohibited without the express written permissi
3、on of the author.All copyright information MUST appear if these slides are posted on a website for student use.脖戏暖锗埃戎凡首橙般狮魏蹲贩歌腥灌晌饲号价隅辊邵仲玩孵迭酪锄帚路软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009).
4、 Slides copyright 2009 by Roger Pressman.2What is a Component?nOMG Unified Modeling Language Specification OMG01 defines a component as n“ a modular, deployable, and replaceable part of a system that encapsulates implementation and exposes a set of interfaces.”nOO view: a component contains a set of
5、 collaborating classesnConventional view: a component contains processing logic, the internal data structures that are required to implement the processing logic, and an interface that enables the component to be invoked and data to be passed to it.覆佳疟逾钝喀贰惫肿悔宝嘎培舶季鳞掇钮偏酬踏亲末先妙澳礼矾蛀醉翠撅软件工程-实践者的研究方法chapte
6、r_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.3OO Component疯栽曼损眯誉螺焉虞市讥方履弛炊漱淑跨范盅弹喻殖司凑滞彬沫瀑畅莹坦软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to a
7、ccompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.4Conventional Component仰戒憨惯睡警痘礁碎谜翰侦构坟刁搔淋偿尹玻技硝拿缀吼揩前拜忠摸暂彭软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners
8、Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.5Basic Design PrinciplesnThe Open-Closed Principle (OCP). “A module component should be open for extension but closed for modification.nThe Liskov Substitution Principle (LSP). “Subclasses should be substitutable for their ba
9、se classes.nDependency Inversion Principle (DIP). “Depend on abstractions. Do not depend on concretions.” nThe Interface Segregation Principle (ISP). “Many client-specific interfaces are better than one general purpose interface.nThe Release Reuse Equivalency Principle (REP). “The granule of reuse i
10、s the granule of release.” nThe Common Closure Principle (CCP). “Classes that change together belong together.” nThe Common Reuse Principle (CRP). “Classes that arent reused together should not be grouped together.” Source: Martin, R., “Design Principles and Design Patterns,” downloaded from http:,
11、2000.Source: Martin, R., “Design Principles and Design Patterns,” downloaded from http:, 2000.慕桃附夸趟果骏获霍郊醚潞缮沉莽催锡看仕锄锣喇预棍管蹋挤健咽娱袱馆软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright
12、 2009 by Roger Pressman.6Design GuidelinesnComponentsnNaming conventions should be established for components that are specified as part of the architectural model and then refined and elaborated as part of the component-level modelnInterfacesn Interfaces provide important information about communic
13、ation and collaboration (as well as helping us to achieve the OPC)nDependencies and Inheritancenit is a good idea to model dependencies from left to right and inheritance from bottom (derived classes) to top (base classes).阶盖施革心鸯纯矩矾答鲸疽誓敬啪腿凌欣扬涵荔锅酪友尘千张还膏渭汀晃软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_0
14、9These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.7CohesionnConventional view: nthe “single-mindedness” of a modulenOO view: ncohesion implies that a component or class encapsulates only attributes
15、 and operations that are closely related to one another and to the class or component itselfnLevels of cohesionnFunctionalnLayernCommunicationalnSequentialnProceduralnTemporalnutility扇玖蘑土渣廖胰船灭捶瓦氓迷窗阐廊晴积队哀聘耳朱漓戚畜鹰吸湛尹宰葫软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany
16、Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.8CouplingnConventional view: nThe degree to which a component is connected to other components and to the external worldnOO view:na qualitative measure of the degree to which classes are
17、connected to one anothernLevel of couplingnContentnCommonnControlnStampnDatanRoutine callnType usenInclusion or importnExternal啤营淡柱靴饰挠赤稻壬狄庞捉诧胜饵侄葵越嗜蓑别炕屡钩沿嘴膝侣错铂豁软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McG
18、raw-Hill, 2009). Slides copyright 2009 by Roger Pressman.9Component Level Design-InStep 1. Identify all design classes that correspond to the problem domain. nStep 2. Identify all design classes that correspond to the infrastructure domain.nStep 3. Elaborate all design classes that are not acquired
19、as reusable components.nStep 3a. Specify message details when classes or component collaborate. nStep 3b. Identify appropriate interfaces for each component. 逾幕东物刹突免躲亦峭缸艾量恼否菊堑粥尾弓窿针逞崎非制彭燃伺绎却赎软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A P
20、ractitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.10Component-Level Design-IInStep 3c. Elaborate attributes and define data types and data structures required to implement them. nStep 3d. Describe processing flow within each operation in detail.nStep 4. Describe
21、 persistent data sources (databases and files) and identify the classes required to manage them. nStep 5. Develop and elaborate behavioral representations for a class or component. nStep 6. Elaborate deployment diagrams to provide additional implementation detail. nStep 7. Factor every component-lev
22、el design representation and always consider alternatives.巡撕臀者撂贝纱宾捂鹃愈伴冗酌狡亩蒋嘱谢扁陆吱纹饰均搀阳芋而师谜渐软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.11Collaborat
23、ion Diagram枕油含澄肃钾谤壮靶逼捷克酣汪赛个瞩蝶牟苟阎矾羌业账猖镍探郎副看义软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.12Refactoring屡泉校隧红畦路尹秆职源骏凤譬爪衍趟瞬碎栗畏弯菌驯品煮光泄爸渣秘汛软件工程-实践者的研究方法c
24、hapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.13Activity Diagram著病培簧肠酷眠硕酌喷雏竣噬藩咽啦酪问责审找喜滑侠逾砖博逮扭浆贸寝软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are des
25、igned to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.14Statechart傻机苑籍无兄反逃绅腐驴稻黎域眯跨宅浓扬赁匡狡辉欣柬幂兹妇滁女剿矢软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners A
26、pproach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.15Component Design for WebAppsnWebApp component is n(1) a well-defined cohesive function that manipulates content or provides computational or data processing for an end-user, or n(2) a cohesive package of content and function
27、ality that provides end-user with some required capability. nTherefore, component-level design for WebApps often incorporates elements of content design and functional design.害颧受隧勒污揍彬终漆辨涡远最患鉴珐档枣枢催溉首济锗逢狱秆棘妒深沫软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software
28、 Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.16Content Design for WebAppsnfocuses on content objects and the manner in which they may be packaged for presentation to a WebApp end-usernconsider a Web-based video surveillance capability withi
29、n SafeHomeAnpotential content components can be defined for the video surveillance capability: (1) the content objects that represent the space layout (the floor plan) with additional icons representing the location of sensors and video cameras; (2) the collection of thumbnail video captures (each a
30、n separate data object), and (3) the streaming video window for a specific camera. nEach of these components can be separately named and manipulated as a package.桂瘤琼盏芋坡睦牙咱遮匆贝役造欠被旦俄等犀望樱莉胞活泞增变卸丙赢赊软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering:
31、 A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.17Functional Design for WebAppsnModern Web applications deliver increasingly sophisticated processing functions that: n(1) perform localized processing to generate content and navigation capability in a dynam
32、ic fashion; n(2) provide computation or data processing capability that is appropriate for the WebApps business domain; n(3) provide sophisticated database query and access, or n(4) establish data interfaces with external corporate systems. nTo achieve these (and many other) capabilities, you will d
33、esign and construct WebApp functional components that are identical in form to software components for conventional software. 鸦溉盯肺鸯耶伞玄鳃蔫挞糠菜镑卷官挤翻首虾丧藩濒稠昆绝审疹狱俱昂矗软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGr
34、aw-Hill, 2009). Slides copyright 2009 by Roger Pressman.18Designing Conventional ComponentsnThe design of processing logic is governed by the basic principles of algorithm design and structured programmingnThe design of data structures is defined by the data model developed for the systemnThe design
35、 of interfaces is governed by the collaborations that a component must effect 坪衅朽饯陡颠鸭凡砍每录质幻贯俯好寨砰侧足叹夏位字媳筋坞坪寂此凛楔软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger P
36、ressman.19Algorithm Designnthe closest design activity to codingnthe approach:nreview the design description for the componentnuse stepwise refinement to develop algorithmnuse structured programming to implement procedural logicnuse formal methods to prove logic卒歪稳粹歌券呢刷寇预紊钱枪锣怯姬免傀平崖曹娶非弯泰察完贾敦诚质催软件工程-实
37、践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.20Stepwise Refinementopenopenwalk to door;walk to door;reach for knob;reach for knob;open door;open door;wal
38、k through;walk through;close door.close door.repeat until door opensrepeat until door opensturn knob clockwise;turn knob clockwise;if knob doesnt turn, thenif knob doesnt turn, then take key out; take key out; find correct key; find correct key; insert in lock; insert in lock;endifendifpull/push doo
39、rpull/push doormove out of way;move out of way;end repeatend repeat略暑羔篓险撰凶殖溺治孪姐款邀噶口柠栖枉模绳氨洗巫若状密跟跟聊蚁沂软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.21A
40、lgorithm Design Modelnrepresents the algorithm at a level of detail that can be reviewed for qualitynoptions:ngraphical (e.g. flowchart, box diagram)npseudocode (e.g., PDL) . choice of manynprogramming languagendecision table赌丘袄仑郭姨茂园哺娇颈掉钨离铆董底叭撒萍疗仔湘忙被假兑楚广橙赃椽软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter
41、_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.22Structured Programminguses a limited set of logical constructs:uses a limited set of logical constructs: sequencesequence conditionalconditiona
42、l if-then-else, select-case if-then-else, select-case loopsloops do-while, repeat until do-while, repeat untilleads to more readable, testable codeleads to more readable, testable codeimportant for achieving high quality, important for achieving high quality, but not enoughbut not enoughcan be used
43、in conjunction with proof of can be used in conjunction with proof of correctnesscorrectness襄荐缎暖衰欲焚矗德纬兄鬃谩饿挟筷惑违乐砸桶元涩休颧徽增淮豌喇捷皆软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2
44、009 by Roger Pressman.23A Structured Procedural Design湿示薛日碌罗黍置敢肩杨夷扔尖惰珐新猎挛显骆瘁鳞企亭枕截恬够探析酷软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.24Decision Table
45、蹦鸭寥凿惕猾滩拯浊肢雅投首及舷显饺失虾量档匙毁单芥伎只逸少沈寸斩软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.25Program Design Language (PDL)宙谓尿枫棕鬃话咋凉肖短铅脾敛芍改厚日扬盼炮嚼环教首琉挣残典托馈橙软件工程-实践
46、者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.26Why Design Language?磊缴拍官屠谜倒尉数摩的旅蝎阔常苍碰锗遇约筋簇佬倔杖咽芒唬饵缮脂匿软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These sli
47、des are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.27Component-Based DevelopmentnWhen faced with the possibility of reuse, the software team asks:nAre commercial off-the-shelf (COTS) components available to i
48、mplement the requirement?nAre internally-developed reusable components available to implement the requirement?nAre the interfaces for available components compatible within the architecture of the system to be built?nAt the same time, they are faced with the following impediments to reuse .基暗僵黎驳叹候纸鸵
49、哆粉惭甚镊晃降计继茂篷皑亢见渭袄耸诛呸有巧菩米软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.28Impediments to ReusenFew companies and organizations have anything that even
50、slightly resembles a comprehensive software reusability plan. nAlthough an increasing number of software vendors currently sell tools or components that provide direct assistance for software reuse, the majority of software developers do not use them. nRelatively little training is available to help
51、 software engineers and managers understand and apply reuse.nMany software practitioners continue to believe that reuse is “more trouble than its worth.” nMany companies continue to encourage of software development methodologies which do not facilitate reuse nFew companies provide an incentives to
52、produce reusable program components.酉膀畔胸准诗闺高档愈恤和肄屈偏幌庆宽拄鸵末罗肚扩鉴宦纫稀挂尊择斌软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.29The CBSE Process氨氖琅谈履零邻妓刮受续缨蹦巧玉绒
53、沧伞狱琐弗佣厂期冈嗜菲博凰坤泻聚软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.30Domain Engineering1. Define the domain to be investigated.1. Define the domain to be
54、 investigated.2. Categorize the items extracted from the 2. Categorize the items extracted from the domain.domain.3. Collect a representative sample of 3. Collect a representative sample of applications in the domain.applications in the domain.4. Analyze each application in the sample.4. Analyze eac
55、h application in the sample.5. Develop an analysis model for the objects5. Develop an analysis model for the objects. .侮神谆乒需黎厕做悬嘎覆罗挠趟戚锄斯陆楞慎酌热谆臂滤革病雷件剿谦贪软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill
56、, 2009). Slides copyright 2009 by Roger Pressman.31Identifying Reusable Components Is component functionality required on future implementations? Is component functionality required on future implementations? How common is the components function within the domain? How common is the components funct
57、ion within the domain? Is there duplication of the components function within the domain? Is there duplication of the components function within the domain? Is the component hardware-dependent? Is the component hardware-dependent? Does the hardware remain unchanged between implementations? Does the
58、hardware remain unchanged between implementations? Can the hardware specifics be removed to another component? Can the hardware specifics be removed to another component? Is the design optimized enough for the next implementation? Is the design optimized enough for the next implementation? Can we pa
59、rameterize a non-reusable component so that it Can we parameterize a non-reusable component so that it becomes reusable?becomes reusable? Is the component reusable in many implementations with only Is the component reusable in many implementations with only minor changes?minor changes? Is reuse thro
60、ugh modification feasible? Is reuse through modification feasible? Can a non-reusable component be decomposed to yield reusable Can a non-reusable component be decomposed to yield reusable components?components? How valid is component decomposition for reuse? How valid is component decomposition for
61、 reuse?仕搽粪弄郊卷匹识茅转拦遭阳灼勘襟耸斡垢陵袁描少昂姜窒蒂纹泼战双贪软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.32Component-Based SEna library of components must be availablen
62、components should have a consistent structurena standard should exist, e.g.,nOMG/CORBAnMicrosoft COMnSun JavaBeans窒淡滑锥食芳萎哺鱼郴革惟嗣醉辑踌靠袭麦状翠养浪汕坚例笆汁亭流淡找软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 200
63、9). Slides copyright 2009 by Roger Pressman.33CBSE ActivitiesnComponent qualificationnComponent adaptationnComponent compositionnComponent update茨铀谨息腕沸钻朔妥欺酞消具廊力滁峡校票材郧函核调境酚平玄蛆赤穆沁软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners
64、Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.34QualificationBefore a component can be used, you must consider:Before a component can be used, you must consider: application programming interface (API) application programming interface (API) development and integration t
65、ools required by the component development and integration tools required by the component run-time requirements including resource usage (e.g., memory run-time requirements including resource usage (e.g., memory or storage), timing or speed, and network protocolor storage), timing or speed, and net
66、work protocol service requirements including operating system interfaces service requirements including operating system interfaces and support from other componentsand support from other components security features including access controls and authentication security features including access con
67、trols and authentication protocolprotocol embedded design assumptions including the use of specific embedded design assumptions including the use of specific numerical or non-numerical algorithmsnumerical or non-numerical algorithms exception handling exception handling洗踢宗苏牟探臆索奈捕釉牢念鳞撑以沿睛臀糟嫩澳茄蝶汞顶涣戏卸侗
68、甫颅软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.35AdaptationThe implication of “easy integration” is: The implication of “easy integration” is: (1)
69、that consistent methods of resource (1) that consistent methods of resource management have been implemented for all management have been implemented for all components in the library; components in the library; (2) that common activities such as data (2) that common activities such as data manageme
70、nt exist for all components, and management exist for all components, and (3) that interfaces within the architecture and with (3) that interfaces within the architecture and with the external environment have been implemented the external environment have been implemented in a consistent manner. in
71、 a consistent manner. 桨鹿很筏屏谈泞印送均鬼合檄盒界锰扼比濒腾肢鸣捎剃蒋苗艘匝渣颅苦天软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.36CompositionnAn infrastructure must be establis
72、hed to bind components togethernArchitectural ingredients for composition include:nData exchange modelnAutomationnStructured storagenUnderlying object model腋齿滞蛛舞肢浇夜镣恫虹宪忠莽林辜泪撑力旭枫左旗汾闯迢囊奴绿适尊境软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Pra
73、ctitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.37OMG/ CORBAnThe Object Management Group has published a common object request broker architecture (OMG/CORBA). nAn object request broker (ORB) provides services that enable reusable components (objects) to communi
74、cate with other components, regardless of their location within a system. nIntegration of CORBA components (without modification) within a system is assured if an interface definition language (IDL) interface is created for every component. nObjects within the client application request one or more
75、services from the ORB server. Requests are made via an IDL or dynamically at run time. nAn interface repository contains all necessary information about the services request and response formats. 泥梯竿忻示滓勿脖紧斩铱象谍渣磕咏疥吏痴枯苛共毗桔啃穿债匠宇姆起只软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed
76、to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.38ORB Architecture玲庚敛碴慕岩迟蒋杉囚弘敬麓昂帛秤钧勿厦洞量禽混椿昧群酣拜健姆缝吐软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners A
77、pproach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.39Microsoft COMnThe component object model (COM) provides a specification for using components produced by various vendors within a single application running under the Windows operating system. nCOM encompasses two elements:
78、nCOM interfaces (implemented as COM objects)na set of mechanisms for registering and passing messages between COM interfaces. 附冬严竞茨蛮镐赞充香彭患斋拈养臂嵌俐绳窿拙扼权鳞瞅邓埃星膀舵重敛软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGr
79、aw-Hill, 2009). Slides copyright 2009 by Roger Pressman.40Sun JavaBeansnThe JavaBeans component system is a portable, platform independent CBSE infrastructure developed using the Java programming language. nThe JavaBeans component system encompasses a set of tools, called the Bean Development Kit (B
80、DK), that allows developers to n analyze how existing Beans (components) workn customize their behavior and appearancen establish mechanisms for coordination and communicationn develop custom Beans for use in a specific applicationn test and evaluate Bean behavior.撅近击癌浑痰是黍术它现茸痢株雁芭欲年吞急姚抖钾乌方波蕴狸归偶侄鹤软件工
81、程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.41ClassificationnEnumerated classificationcomponents are described by defining a hierarchical structure i
82、n which classes and varying levels of subclasses of software components are definednFaceted classificationa domain area is analyzed and a set of basic descriptive features are identifiednAttribute-value classificationa set of attributes are defined for all components in a domain area卫尖郁党菩村烂猴孤且声律歧披裕杠
83、腺曼害叹厄那距框勉必涉疹音诞奖挥软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.42Indexing惶侦越撇珊鹃力搀距碌踪驻瘦茨宰筑屈吊椭殖雕帜堪快泄芜苔戚迈倒凡害软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_
84、09These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.43The Reuse EnvironmentnA component database capable of storing software components and the classification information necessary to retrieve them.
85、nA library management system that provides access to the database.nA software component retrieval system (e.g., an object request broker) that enables a client application to retrieve components and services from the library server.nCBSE tools that support the integration of reused components into a new design or implementation.寄诽员奠毯超授氏壕七薪灰老里菱谤酋病著榆袋丈浊竹馆绑少骸尺采尉荆软件工程-实践者的研究方法chapter_09软件工程-实践者的研究方法chapter_09