Knowledge (XXG)

Software component

Source 📝

212:(UML) 2.0 a component is shown as a rectangle, and an interface is shown as a lollipop to indicate a provided interface and as a socket to indicate consumption of an interface. 198: 253:
refined the concept of a software component in the 1980s. He attempted to create an infrastructure and market for reusable third-party components by inventing the
174: 306: 229: 158: 90: 477: 278: 523: 384:
Crnkovic, I.; Sentilles, S.; Vulgarakis, A.; Chaudron, M. R. V. (2011). "A Classification Framework for Software Component Models".
540: 570: 146: 71: 499:
The modern concept of a software component largely defined by Brad Cox of Stepstone, => Objective-C programming language
580: 575: 108: 173:
Some components conform to a framework technology that allows them to be consumed in a well-known way. Examples include:
282: 463:
Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7-11 Oct. 1968
552:
1990, IBM invents their System Object Model. 1990, as a reaction, Microsoft released OLE 1.0 OLE custom controls (OCX)
332: 197: 94: 86: 209: 202: 483:. Gestión de Congresos - CIMNE/Institute for Scientific Computing, TU Braunschweig. p. 4. Archived from 264: 274: 178: 162: 123: 43: 277:(COM) in the early 1990s. Microsoft built many domain-specific component technologies on COM, including 182: 63: 401: 359: 455: 519: 436: 428: 393: 363: 244: 130: 484: 237: 233: 225: 142: 51: 236:
of the time.) In the 1970s, McIlroy put this idea into practice with the addition of the
186: 35: 564: 405: 17: 141:
Some components are built in-house by the same organization or team building the
254: 221: 101: 67: 47: 440: 270: 432: 511: 337: 250: 201:
An example of interdependent components modeling a reservation system in
39: 397: 46:
specific functionality. The desired characteristics of a component are
82:
Desirable attributes of a component include but are not limited to:
232:
of 1968. (One goal of that conference was to resolve the so-called
419:
Lau, Kung-Kiu; Wang, Zheng (2007). "Software Component Models".
241: 364:"Why Software Reuse has Failed and How to Make It Work for You" 149:, developed elsewhere and assembled into the software system. 260: 118:– can be replaced by another component with the same interface 66:
to assemble software with reliable parts rather than writing
74:
to be more like factory assembly than custom building.
543:. HSR - Hochschule für Technik Rapperswill. p. 4 516:
Object Oriented Programming: An Evolutionary Approach
307:"Tutorial notes: Software Components and Connectors" 465:. Scientific Affairs Division, NATO. p. 79. 208:Component design is often modeled visually. In 333:"Types of Software Components — With Examples" 8: 161:encourages a disciplined process to manage 541:"Upgrading of component-based application" 454:McIlroy, Malcolm Douglas (January 1969). 421:IEEE Transactions on Software Engineering 386:IEEE Transactions on Software Engineering 300: 298: 196: 294: 7: 539:Raphael Gfeller (December 9, 2008). 230:NATO Software Engineering Conference 224:software components was promoted by 153:Component-based software engineering 456:"Mass produced software components" 279:Distributed Component Object Model 25: 478:"Software Component Architecture" 305:Pandey, Pankaj (11 July 2023). 70:for every aspect; allowing for 331:Yadav, Sunny (16 April 2024). 1: 283:Object Linking and Embedding 228:in his presentation at the 159:component-based development 597: 267:(SOM) in the early 1990s. 210:Unified Modeling Language 157:For large-scale systems, 27:Modular unit of software 433:10.1109/TSE.2007.70726 275:Component Object Model 257:programming language. 205: 571:Software architecture 200: 581:Software engineering 576:Software development 285:(OLE), and ActiveX. 183:Enterprise JavaBeans 64:software development 18:Component (software) 398:10.1109/TSE.2010.83 265:System Object Model 518:. Addison Wesley. 360:Douglas C. Schmidt 206: 32:software component 62:Components allow 16:(Redirected from 588: 555: 554: 549: 548: 536: 530: 529: 508: 502: 501: 496: 495: 489: 482: 476:Rainer Niekamp. 473: 467: 466: 460: 451: 445: 444: 416: 410: 409: 381: 375: 374: 372: 370: 356: 350: 349: 347: 345: 328: 322: 321: 319: 317: 302: 245:operating system 21: 596: 595: 591: 590: 589: 587: 586: 585: 561: 560: 559: 558: 546: 544: 538: 537: 533: 526: 510: 509: 505: 493: 491: 487: 480: 475: 474: 470: 458: 453: 452: 448: 427:(10): 709–724. 418: 417: 413: 383: 382: 378: 368: 366: 358: 357: 353: 343: 341: 330: 329: 325: 315: 313: 304: 303: 296: 291: 240:feature to the 234:software crisis 226:Douglas McIlroy 218: 195: 171: 155: 143:software system 139: 80: 60: 52:maintainability 28: 23: 22: 15: 12: 11: 5: 594: 592: 584: 583: 578: 573: 563: 562: 557: 556: 531: 524: 503: 468: 446: 411: 392:(5): 593–615. 376: 351: 323: 293: 292: 290: 287: 217: 214: 194: 191: 187:.NET Framework 170: 167: 154: 151: 138: 135: 134: 133: 127: 126: 120: 119: 112: 111: 105: 104: 98: 97: 79: 76: 72:implementation 59: 56: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 593: 582: 579: 577: 574: 572: 569: 568: 566: 553: 542: 535: 532: 527: 525:0-201-54834-8 521: 517: 513: 507: 504: 500: 490:on 2012-03-28 486: 479: 472: 469: 464: 457: 450: 447: 442: 438: 434: 430: 426: 422: 415: 412: 407: 403: 399: 395: 391: 387: 380: 377: 365: 361: 355: 352: 340: 339: 334: 327: 324: 312: 308: 301: 299: 295: 288: 286: 284: 280: 276: 272: 268: 266: 262: 258: 256: 252: 248: 246: 243: 239: 235: 231: 227: 223: 215: 213: 211: 204: 199: 192: 190: 188: 184: 180: 176: 168: 166: 164: 160: 152: 150: 148: 144: 136: 132: 129: 128: 125: 122: 121: 117: 116:Substitutable 114: 113: 110: 107: 106: 103: 100: 99: 96: 95:functionality 92: 88: 85: 84: 83: 77: 75: 73: 69: 65: 57: 55: 53: 49: 45: 41: 37: 33: 19: 551: 545:. Retrieved 534: 515: 506: 498: 492:. Retrieved 485:the original 471: 462: 449: 424: 420: 414: 389: 385: 379: 367:. Retrieved 354: 342:. Retrieved 336: 326: 314:. Retrieved 310: 269: 259: 249: 220:The idea of 219: 207: 172: 156: 140: 115: 91:encapsulates 81: 61: 44:encapsulates 31: 29: 273:introduced 263:introduced 255:Objective-C 147:third-party 145:. Some are 137:Third-party 48:reusability 38:unit of 565:Categories 547:2011-07-29 494:2011-07-29 311:medium.com 289:References 185:, and the 163:complexity 124:Documented 78:Attributes 441:0098-5589 271:Microsoft 169:Framework 514:(1991). 512:Brad Cox 406:15449138 338:LinkedIn 281:(DCOM), 251:Brad Cox 238:pipeline 222:reusable 193:Modeling 102:Reusable 93:related 87:Cohesive 40:software 216:History 36:modular 522:  439:  404:  369:14 May 344:14 May 316:14 May 131:Tested 109:Robust 488:(PDF) 481:(PDF) 459:(PDF) 402:S2CID 175:CORBA 58:Value 42:that 34:is a 520:ISBN 437:ISSN 371:2024 346:2024 318:2024 242:Unix 68:code 50:and 429:doi 394:doi 261:IBM 203:UML 179:COM 567:: 550:. 497:. 461:. 435:. 425:33 423:. 400:. 390:37 388:. 362:. 335:. 309:. 297:^ 247:. 189:. 181:, 177:, 165:. 89:– 54:. 30:A 528:. 443:. 431:: 408:. 396:: 373:. 348:. 320:. 20:)

Index

Component (software)
modular
software
encapsulates
reusability
maintainability
software development
code
implementation
Cohesive
encapsulates
functionality
Reusable
Robust
Documented
Tested
software system
third-party
component-based development
complexity
CORBA
COM
Enterprise JavaBeans
.NET Framework

UML
Unified Modeling Language
reusable
Douglas McIlroy
NATO Software Engineering Conference

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.