Software Architecture & Component Orientation Jose Donate CS 6362
Component Orientation Overview ► Introduction to Scripting Languages ► Component Software Architecture ► Componentware & Object Orientation
Scripting Languages ► Scripting is Known as connecting different existing components to achieve a new related task. ► Scripts serves as a "glue" allowing existing software (e.g., components) to be incorporated into application configurations. Script Component
Scripting Languages ► The combined component obtains common specifications from the constituent component. ► If the components have similar specifications they can function with no need of additional coding. ► This is frequently known as plug-and-play integration. ► When they are executed at runtime, it becomes a form late binding.
Scripting Languages ► In some cases of large-scale development, a scripts and a lower level programming languages are combined to provide particular strengths. ► Also are commonly used for developing graphical user interfaces (GUI’s) ► Scripts are usually stored in the form of plain text and interpreted, or compiled when they are invoked. ► Some Script Languages are JavaScript language, Visual Basic and TCL shell programming languages.
Component Software Architecture ► Software architecture is concerned with the planning and maintenance of system structure. ► As an example of a what is considered a good architecture, a system structure should have room for changes in requirements and technologies. ► Reusable components can accommodate changes to guarantee the continuous satisfaction during the life cycle of a system.
Component Software Architecture ► Software architecture offers the design context within which components are designed and reused. ► An important characteristic of software architecture for componentware is the ability to support distributed project teams. ► Software architecture contains a system specification that allows parallel, independent development of the system or its components.
Component Software Architecture ► Appropriate software architecture identifies computational boundaries that segregate the system into subsystems that can be tested by themselves. ► These subsystems can be outsourced to one or more distributed project teams.
Componentware & Object Orientation Componentware have four overlapping principles with object orientation: Principles EncapsulationPolymorphismLate BindingSafety
► Componentware don’t give the same importance to inheritance as object orientation does. ► As an alternative, instead of inheriting from other objects, functionality reuse is accomplished by invoking or delegating components. Componentware & Object Orientation
► “Componentware technologies provide sophisticated approaches to software development that challenge outdated assumptions” ► “Componentware represents a fundamental change in technology as object orientation did in previous generations” By Raphael Malveau, Thomas J. Mowbray. Raphael MalveauThomas J. MowbrayRaphael MalveauThomas J. Mowbray
References Bredemeyer Consulting: Resources for Software Architects ► Software Architecture: Basic Training ► Wikipedia: The Free Content Encyclopedia. ► ►