Free Essay

Specification, Implementation, and Deployment of C

In:

Submitted By telemnal
Words 3775
Pages 16
By Ivica Crnkovic, Brahim Hnich, Torsten Jonsson, and Zeynep Kiziltan

Specification, Implementation, and Deployment of COMPONENTS
Clarifying common terminology and exploring component-based relationships. omponent-based software engineering is a new, promising, and rapidly growing discipline in academia and industry. The basic concepts in CBSE originate from different areas of software engineering and computer science, such as OO programming, reuse, software architecture, modeling languages, and formal specifications. Industry and the open market have had a significant impact on the development of component technology—CBSE synthesizes knowledge and experience from these areas. A consequence of this situation is that CBSE uses concepts that are still not fully formalized, terms that are not clearly distinguished, with relations among them that are not well explained. For example, the terms “component” and “interface” are still widely discussed, and still not yet formally specified. Here, we clarify the commonly used terms within the area of CBSE and discuss relations between them.
The main concerns of CBSE related to components are a component specification, its implementation, and its deployment. A component is specified by functions by which it communicates with its environment, and by other attributes, called “extrafunctional attributes,” which are not expressed by functions but define the total behavior of the component. A widely used method for specifying the syntactic aspects of functional properties is the definition of interfaces. The semantic aspects of functional properties related to context-dependencies (specification of the deployment and runtime environments) and interaction can be expressed using contracts. Interfaces and contracts, however, are not so well equipped to express extrafunctional properties. Manners and the analytical model are two examples of techniques that address the specification of extrafunctional properties. Component implementation and deployment are closely related to patterns and frameworks. A component is a unit of composition, and it must be specified in such a way that it is possible to compose it with other components and integrate it into systems in a predictable way. Szyperski [11] defines a component as a unit of composition that can be deployed independently and is subject to composition by a third party. For a component to be deployed independently, a clear distinction from its environment and other components is required. A component communicates with its environment through interfaces. Hence, a component must have clearly specified interfaces, while the implementation must be encapsulated in the component, and is not directly reachable from the environment. This is what makes a component a unit of third-party composition. The most important feature of a component is the separation of its interfaces from its implementation. This separation is different from those we find in OO programming languages, where class definitions are sepaCOMMUNICATIONS OF THE ACM October 2002/Vol. 45, No. 10

35

rated from class implementations. such as functional programming or an assembly lanComponent integration and deployment should guage approach. In particular, patterns and framebe independent of the component development life works are two commonly used methods that cycle, and there should be no need to recompile or re- contribute to the realization and deployment of comlink the application when updating with a new com- ponents. We can conclude that the OO approach and ponent. Another important characteristic of a CBSE have many similarities, but there is a clear discomponent is its visibility exclusively through its tinction between the two. CBSE is more focused on interfaces. An important implication of this is a need interface, reuse of black-box-type components, runfor a complete specification of a component includ- time behavior, and less on programming and proing its functional properties, extrafunctional proper- gramming languages, which is characteristic for OO. ties [2] (quality attributes such as accuracy, CBSE and OO are, however, not conflicting: on the availability, latency, security, performance, resources contrary, OO analysis, design, and development conrequired), use cases, tests, and so forth. This calls for stitute a set of technology and methods naturally used different types of interfaces. Unfortunately, the in CBSE. current component-based Specifying technologies successfully Constraint Component * * Interface Functional manage only the specifica1 * * Properties tion of functional proper* * in-interfaces * A component is specified ties, though functional * in terms of its functional specifications are limited State Interface * out-interfaces 1 and extrafunctional propto syntactic lists of opera- 2 * 1 1 1 erties. While the use of tions and attributes. Curinterfaces captures the synrent technologies fall short * tax of the functional propof addressing the semanInvariant * * * erties, contracts play an tics of functional properimportant role in underties. Further, there is no PreCondition Operation PostCondition * * * 1 1 standing the semantics of satisfactory support for * * * 1 the functional properties specification of extrafunc* * * of a component. Contional properties. versely, manners and the Many CBSE concepts InParameter Parameter OutParameter analytical model generalize originate from reusability * the concept of interface to and OO approaches. A express extrafunctional reusability approach in CBSE manifests on different levels. First, a component Figure 1. UML metamodel for properties of a component. Interfaces. An interface can be composed at runtime without any need for semantic specification of of a component can be compilation. Second, a component detaches its inter- software components. face from its implementation, and conceals its imple- defined as a specification of its access point [11]. The mentation details, permitting a composition without a clients access the services provided by the component need to know its implementation details. Moreover, a using these points. It is important to note that an component interoperates with other components or interface offers no implementation of any of its operframeworks in a predefined architecture. Furthermore, ations. Instead, it only names a collection of operaa component interface is required to be standardized, tions, and provides only the descriptions and the protocols of these operations. This separation makes so that components can be widely reused. The terms object and component are often it possible to: replace the implementation part withthought to be synonymous or very similar. In an OO out changing the interface, and in this way improve approach, a component can be seen as a collection of the system performance without rebuilding the sysobjects, in which the objects cooperate with each tem; and, add new interfaces (and implementations) other and are tightly intertwined. The boundary without changing the existing implementation, and between a component and other components is spec- in this way improve the component adaptability. Interfaces defined in standard component techified, and the interaction of the component (and thus its objects) across the boundary is implemented nologies (for example, Interface Definition Language through the component interface, while the inner 1 For the details Comgranularity of a component is hidden.1 However, a ponent pattern,of implementingaenterprise components through the Enterpriseobjects which includes composite set of medium-and finer-grained component can be realized by using other approaches of which it is comprised, see the article by Levi and Arsanjani in this section.
36
October 2002/Vol. 45, No. 10 COMMUNICATIONS OF THE ACM

Many different concepts, definitions, and specifications lie behind attempts to successfully manage component-based development. in CORBA or COM) can only express functional properties, and this only partially, focusing on the syntax part. In general, functional properties include a signature part in which the operations provided by a component are described, and a behavior part, in which the behavior of the component is specified. In this type of notation, we can distinguish export/import interfaces to/from environments that may include other components. An exported interface describes the services provided by a component to the environment, while an imported interface specifies the services required by a component from the environment. Contracts. The interface semantics can be achieved through contracts. A contract lists the global constraints that the component will maintain (the invariant). For each operation within the component, a contract also lists the constraints that must be met by the client (the pre-condition), and that the component promises to establish in return (the post-condition). The pre-condition, the invariant, and the post-condition constitute the specification of a component’s behavior. Figure 1 illustrates a UML metamodel for semantic specification of a component [4]. In this metamodel, a component is determined by its interface (which provides or requires services) and by constraints. Each interface consists of a set of operations. In addition, a set of pre-conditions and post-conditions is associated with each operation. Pre- and postconditions often depend on the state maintained by the component. Finally, a set of invariants is associated with an interface. Beyond the specification of the behavior of a single component, contracts can also be used to specify interactions among groups of components [7]. However, they are then employed in a slightly different manner. A contract specifies the interactions among components in terms of: • the set of participating components; • the role of each component through its contractual obligations, such as type obligations, which require the component to support certain variables and an interface, and causal obligations, which require the component to perform an ordered sequence of actions, including sending messages to the other components; • the invariant to be maintained by the components; and • the specification of the methods that instantiate the contract. Specifying Extrafunctional Properties. Extrafunctional properties determine the overall behavior of a component, but cannot be expressed through standard interfaces. Examples of extrafunctional properties are time properties (latency, worst-case execution time), reliability, robustness, and availability. Some research efforts have addressed the specification of extrafunctional properties by generalizing the term interface (and accordingly the component specification). Arsanjani et al. [1] define manners, the governing behavior of a reuse element such as classes, subsystems, and components within a given context. Thus, when a component receives a message or has registered interest in an event, the component’s manners ensures that the component responds within the semantics appropriate for its current context by checking its state, constraining the rules or flow that apply within the given context and activating extrafunctional aspects (that have often been represented as metadata). Manners cover a wide spectrum, ranging from business analysis expression of business rules assigned to a reuse element to a grammar-oriented object design specification based on a domain-specific language for a business. Manners of components provide the services for self-description, dynamic configuration, and dynamic collaboration. A component can be queried for its manners within a given processing context. A similar approach to generalizing the interface specification is the Analytical Model [6] that comprises standard component technologies with the constructive (functional) interface, and Analysis Technology that specifies the analytic interface. The analytic interface specifies extrafunctional properties of components, and provides techniques for deriving, thus predicting extrafunctional properties of the component assemblies.

Implementation and Deployment of Components Patterns and frameworks play a central role toward the implementation and deployment of components. We describe these two concepts here.
COMMUNICATIONS OF THE ACM October 2002/Vol. 45, No. 10

37

Patterns. A pattern defines a recurring solution to a recurring problem. Gamma et al. [5] further refined this definition by specifying the characteristics of a pattern and its objectives. Patterns capture not only abstract principles or strategies, but also non-obvious solutions in an indirect manner. Patterns can be classified in three major categories depending on the level of abstraction on which they are used when documenting a software solution or design. At the highest level of abstraction architectural patterns deal with the global properties and architecture of a system Component-type composed of large-scale compoSpecific Interface nents. Architectural patterns capture the overall structure and Component Deployment organization of a software system, and encode high-level tactics, which describe the set of participating subsystems, specify their roles, and express the relationships between them. At a lower level of abstraction, design patterns refine the structure and the behavior of the subsystems and the components of a software system, and the relationships that exist between them. They encode microarchitectures of subsystems and components for a general design problem within a particular context, which describe the structure and behavior of the subsystems and components, and the communication between them. At the lowest level of abstraction, idioms are lowlevel patterns, which are dependent on the chosen paradigm and the programming language used. Patterns have been applied to the design of many OO systems, and are considered as reusable microarchitectures that contribute to an overall system architecture. However, the knowledge encoded in the design patterns is an unstructured knowledge that may contain many ambiguities because of the informal description of the solutions. Frameworks. In CBSE, software is built by putting pieces together. It is therefore very important that there exist a context in which such pieces can be used. This is the task of frameworks. Frameworks are often discussed from different points of view and at different levels of detail. In some cases frameworks are seen as a reusable design and in other cases they are simply “a skeleton of an application which can be customized by an application developer” [10]. Others consider them “a microarchitecture which provides an incomplete template for systems within a specific domain…” [8]. Mostly, the term framework is used to describe the design results that are reusable in any isomorphic situation. Often they are defined for a class of problems or
38
October 2002/Vol. 45, No. 10 COMMUNICATIONS OF THE ACM

problems within a specific domain. Frameworks in general describe a typical reusable situation at a model level, whereas component frameworks constitute “circuit boards” with empty slots waiting to be filled with components. When this is done the framework is said to be instantiated. Tkach and Puttick [12] distinguish three types or levels of frameworks: (1) technical frameworks that are similar to what is formerly termed application frameworks;
Interface that Satisfies Contracts

Component

Component Model

Coordination Services

Component Framework

(2) industrial frameworks; Figure 2. Relations and (3) application frame- between basic concepts of works. As can be seen, this component technology. definition to some extent conflicts with the former. Levels 2 and 3 in this definition correspond to what is also called “modelframeworks.” Level 2 is biased toward certain business areas, whereas Level 3 focuses more on applications (certain business problems within specific domains).

The Relations Between Concepts In the CBSE community, there is often confusion about the basic terms. For example, component models are intermixed with the concept of component frameworks. Bachman et al. [2] depict the relations among some of the terms in a very illustrative way as shown in Figure 2. The figure defines a component model as the set of component types, their interfaces, and, additionally, a specification of the allowable patterns of interaction among component types. A component framework provides a variety of deployment and runtime services to support the component model. Starting from this generalized view of a component technology, we discuss the relations between different concepts in more detail. Frameworks and Components. As stated earlier, frameworks could be seen as “circuit boards” with empty slots where components are inserted, creating working instances of the framework. A component is an atomic part that can only be used (and not changed) within the framework. Similar to operating systems, frameworks include common services such

as deployment or communication services or specific services obtained by particular components (for example, a scheduler). We can distinguish frameworks at component assembly time and at runtime. When a framework is instantiated, it becomes a component’s container, and at the same time it becomes a new component of the application. Thus finer grained components are inserted into a framework and largergrained enterprise components can be seen as encapsulating frameworks, once instantiated. Thus is the composite nature of components. A framework specifies the requirements a component must conform to in order to participate in the framework. The outer characteristics of the components are specified in an interface description. A remaining problem is how to formalize in more detail what interface the component should have to its surrounding framework. This notion of context is further explored in terms of a component’s manners. Frameworks and Contracts. Whereas frameworks concentrate on the overall properties of components participating in the framework, contracts give specifications for relationships between concrete components. These specifications may be different for components within one composition. As a contractually specified interface increases the component reliability and robustness, though when not carefully designed and implemented can significantly decrease the quality of other (extrafunctional) services such as performance or availability, it is important to integrate concepts of contract awareness into component frameworks [3]. Contracts express a more general principle, while frameworks identify particular components and rules. Some of these rules can be expressed using the contracts. Frameworks and Patterns. Johnson employed design patterns both in the design and the documentation of frameworks [9]. Design patterns are of a logical nature, representing the knowledge of and experience gained with software, whereas frameworks are of a physical nature, and are executable software used in either the design or the runtime phase. The relationship between frameworks and design patterns is a mutual relation: frameworks are the physical realization of one or more design patterns; patterns are the instructions for how to implement those solutions. Gamma et al. summarize in [5] the major differences between design patterns and frameworks. The first difference is the level of abstraction of frameworks and design patterns. Design patterns are more abstract than frameworks. The implication of this difference is that frameworks are implemented in a programming language, and represent reusable pieces of code that cannot only be studied but also be executed.

On the other hand, design patterns need to be implemented each time they are used, but they encode more knowledge about the trade-offs and consequences of the design. The second difference is that design patterns are smaller architectural elements than frameworks. A typical framework contains several design patterns, but the reverse is never true. The last difference is the level of specialization of frameworks and design patterns. Frameworks are more specialized and are employed in a particular application domain, whereas design patterns can be used in any kind of application. Components and Patterns. The relationship between components and patterns can be viewed as follows. Architectural or compound patterns can be used to describe the internal constitution and aid the contruction of components. An example of this is the Enterprise Component pattern [1]. Compound patterns contain design patterns. Design patterns are widely used in the process of designing componentbased systems in which the reusable units must be identified. By using design patterns, it is easier to recognize those reusable parts. Then, we can either find them in the form of preexisting components, or develop them as reusable units. Design patterns may be used to describe the behavior of the inner parts of a component, and thus can be used to develop components. Furthermore, design patterns may also be used to describe a component composition when designing an assembly or a framework that associates several components. Contracts and Interfaces. Contracts and interfaces are strongly related but quite different concepts. While an interface is a collection of operations that specify a service provided by a component, a contract specifies the behavioral aspects of a component or the interaction between components. While interfaces deal with syntactic aspects of functional properties of a component, contracts focus on the semantic aspects of such properties.

Conclusion CBSE is strongly related to new and innovative technologies, but it is also based on a long history of work in modular systems, structured design, and the OO approach. CBSE extends these well-established concepts by emphasizing outsourcing of pieces of a systems and the controlled assembly of those pieces through well-defined interfaces. We are witnessing an enormous expansion in using CBSE and have seen that many different concepts, definitions, and specifications lie behind attempts to successfully manage component-based development. Most of these concepts are in the research stage and first attempts are
COMMUNICATIONS OF THE ACM October 2002/Vol. 45, No. 10

39

being made at their successful utilization. As researchers and practitioners in CBSE community come from different areas, they bring with them different approaches and experiences. In general, this offers many advantages, but also creates some confusion in the understanding of basic concepts. In that sense, one of the currently most important objectives of CBSE is to clarify and formally specify the basic terms in order to provide a strong basis on the conceptual level. This will make it possible to further develop the concepts and improve some of the weaker parts of CBSE such as interoperability between different component technologies, maintenance aspects, and predictability of behavior of component compositions. c References
1. Arsanjani A. and Alpigini J. Using grammar-oriented object design to seamlessly map business models to component-based software architectures. In Proceedings of the International Association of Science and Technology for Development, 2001. 2. Bachman, F., Bass, L., Buhman, S., Comella-Dorda, S., Long, F., Seacord, R.C., and Wallnau, K.C. Technical Concepts of Component-Based Software Engineering. Tech. Rep. CMU/SEI-2000-TR-008, Software Engineering Institute, Carnegie Mellon University, 2000. 3. Beugnard, A. Making components contract aware. IEEE Computer, 1999. 4. Crnkovic, I. and Larsson, M. Building Reliable Component-based Systems. Artech Publishing House, Boston, 2002. 5. Gamma E., Helm R., Johnson R., and Vlissidies J. Design Patterns, Ele-

ments of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995. 6. Hissam S., Moreno G., Stafford J., and Wallnau K. Prediction-Enabled Component Technology: An Existence Proof. Tech. Rep. CMU/SEI-2001TN-007, ESC-TN-2001-007, Carnegie Mellon, Software Engineering Institute, 2001. 7. Holland, I. Specifying reusable components using contracts. In Proceedings of ECOOP, 1992. 8. Jacobson, I., Griss, M.L., and Jonsson, P. Software Reuse, Architecture, Process and Organization for Business Success. Addison Wesley and ACM Press, 1997. 9. Johnson R.E. Documenting frameworks using patterns. In Proceedings of OOPSLA, 2001. 10. Johnson, R.E. Frameworks = (Components + patterns). Commun. ACM 40, 10 (Oct. 1997). 11. Szyperski, C. Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading, Mass., 1998. 12. Tkach, D. and Putticj, R. Object Technology in Application Development, Addison Wesley, Reading, Mass., 1996.

Ivica Crnkovic (ivica.crnkovic@mdh.se) is a professor of software engineering at Mälardalen University, Department of Computer Engineering, Västerås, Sweden. Brahim Hnich (Brahim.Hnich@dis.uu.se) is a Ph.D. student and lecturer at Uppsala University, Department of Information Science, Uppsala, Sweden. Torsten Jonsson (tjo@hig.se) is a Ph.D. student at the University of Gävle, Department of Mathematics, Natural, and Computer Sciences, Gävle, Sweden. Zeynep Kiziltan (Zeynep.Kiziltan@dis.uu.se) is a Ph.D. student at Uppsala University, Department of Information Science, Uppsala, Sweden.
© 2002 ACM 0002-0782/02/1000 $5.00

40

October 2002/Vol. 45, No. 10 COMMUNICATIONS OF THE ACM

Similar Documents

Free Essay

Test

...Overview: Deployment diagrams are used to visualize the topology of the physical components of a system where the software components are deployed. So deployment diagrams are used to describe the static deployment view of a system. Deployment diagrams consist of nodes and their relationships. Purpose: The name Deployment itself describes the purpose of the diagram. Deployment diagrams are used for describing the hardware components where software components are deployed. Component diagrams and deployment diagrams are closely related. Component diagrams are used to describe the components and deployment diagrams shows how they are deployed in hardware. UML is mainly designed to focus on software artifacts of a system. But these two diagrams are special diagrams used to focus on software components and hardware components. So most of the UML diagrams are used to handle logical components but deployment diagrams are made to focus on hardware topology of a system. Deployment diagrams are used by the system engineers. The purpose of deployment diagrams can be described as: * Visualize hardware topology of a system. * Describe the hardware components used to deploy software components. * Describe runtime processing nodes. How to draw Deployment Diagram? Deployment diagram represents the deployment view of a system. It is related to the component diagram. Because the components are deployed using the deployment diagrams. A deployment diagram consists of nodes. Nodes...

Words: 8647 - Pages: 35

Free Essay

Linux

...throughput, scalability, dependability, and security. This increase in complexity of an already complex software development process will only add to the already high rates of project failure. Middleware platforms have traditionally been designed as monolithic static systems. The vigorous dynamic demands of future environments such as large-scale distribution or ubiquitous and pervasive computing will require extreme scaling into large, small, and mobile environments. In order to meet the challenges presented in such environments, next-generation middleware researchers are developing techniques to enable middleware platforms to obtain information concerning environmental conditions and adapt their behavior to better serve their current deployment. Such capability will be a prerequisite for any next-generation middleware; research to date has exposed a number of promising techniques that give middleware the ability to meet these challenges head on. Adaptive and reflective techniques have been noted as a key emerging paradigm for the development of dynamic next-generation middleware platforms [1, 2]. These Middleware for Communications. Edited by Qusay...

Words: 10610 - Pages: 43

Premium Essay

Electronic Library Card Catalog System

...Project Plan For NORSU Electronic Library Card Catalog System Researchers: Project Leader: Medura, Jess Linguaje, Ed Lorence Los Baños, Marilyn Maquiling, Marres Contents 1. Overview…………………………………………………………………………………………………………………………...3 2. Goals and scope………………………………………………………………………………………………………….….….4 2.1 Project Goals…………………………………………………………………………………………………………4 2.2Project Scope…………………………………………………………………………………………..……….……5 2.2.1 Included………………………………………………………………………………………………………….….5 2.2.2 Excluded .................................................................................................................5 3. Organization……………………………………………………………………………………………………………………….6 3.1 Organizational Boundaries and Interfaces…………………………………………………………….…...6 3.1.1 Resource Owners……………………………………………………………………………………………….6 3.1.2 Receivers…………………………………………………………………………………………………….……..6 3.1.3 Cross Functions…………………………………………………………………………………………………..7 3.2 Project Organization…………………………………………………………………………………………………..8 3.2.1 Project Manager…………………………………………………………………………………………….….8 3.2.2 Project Team……………………………………………………………………………………………………..9 4. Schedule and Budget…………………………………………………………………………………………………………10 4.1 Work Breakdown Structure…………………………………………………………………….…………...11 4.2 Schedule and Milestone………………………………………………………………………….……………12 4.3 Budget.......................................................................................................................13 4.4 Development Process…………………………………………………………………………………………...

Words: 4136 - Pages: 17

Free Essay

E-Marketing

...underlying web technologies including Extensible Markup Language, Simple object Access protocol, Web Services Description Language and Universal Descript on, Discovery and International specification using NuSOAP Web Services Toolkit for PHP, HTML, My SQL, HTTP etc. We evaluate the effectiveness of the web technologies used and recommend further functionalities that can improve speed, performance and security. INTRODUCTION E-marketing can be considered to be equivalent to Internet marketing. Most in the industry would look at it this way. However, E-marketing is sometimes considered to have a broader scope since it refers to digital media such as web, e-mail and wireless media, but also includes management of digital customer data and electronic customer relationship management systems (E-CRM systems). Extending these channels to include electronic marketing or e-marketing activities requires proper planning and effective implementation. Small business face more challenges than large business when deploying offline marketing activities due to limited resources, such as huge cost of advertising on magazine, TV, Radio, newspaper etc. We analyze challenges facing small business when implementing e-marketing activities; choices of available web technologies, implementation and deployment costs are major factors. The availability of high speed and low cost brand Internet access from Internet Service Providers have encouraged consumers to subscribe to...

Words: 1556 - Pages: 7

Premium Essay

Six Sigma Improvements

...Week 5 Six Sigma Improvements Amanda Purdy INF 342: Project Quality Assurance Instructor: Edwyne Duffie June 30, 2014 Six Sigma is a disciplined, data-driven approach and methodology for eliminating defects (driving toward six standard deviations between the mean and the nearest specification limit) in any process – from manufacturing to transactional and from product to service. The fundamental objective of the Six Sigma methodology is the implementation of a measurement-based strategy that focuses on process improvement and variation reduction through the application of Six Sigma improvement projects. The Six Sigma DMAIC processes (define, measure, analyze, improve, control) is an improvement system for existing processes falling below specification and looking for incremental improvement (Unknown). DMAIC is a primary theme within Six Sigma. This theme is used to identify issues and rectify them. Using this methodology helps address issues at the front of the process as soon as they come up which can then fold into preventing problems before they appear or get worse. Six Sigma is a tool not a cure (Bangert, 2014). DMAIC is an acronym that stands for define, measure, analyze, improve, control. An in depth breakdown of this process is that it is data driven, and can be implemented in conjunction with Six Sigma or as a standalone quality improvement measure. The breakdown is this: define the problem, improvement activity, opportunity...

Words: 1031 - Pages: 5

Premium Essay

System Development Life Cycle Guide

...TEXAS DEPARTMENT OF INFORMATION RESOURCES System Development Life Cycle Guide Version 1.1 ● 30 MAY 2008 Texas Project Delivery Framework SYSTEM DEVELOPMENT LIFE CYCLE GUIDE Version History This and other Framework Extension tools are available on Framework Web site. Release Date Description 30-May-2008 Version 1.1 released. Modified all references to “Project Plan and related plans” to “Project Plan” in order to align with Framework 2.0 and Change Request 38. 25-Sep-2007 Version 1.0 – System Development Life Cycle Guide released. DIR Document 25GU-1-1 ii Texas Project Delivery Framework SYSTEM DEVELOPMENT LIFE CYCLE GUIDE Contents Introduction ................................................................................................................................1 Use of the System Development Life Cycle Guide ....................................................................2 Section 1. System Life Cycle Processes...................................................................................3 1.1 Introduction ......................................................................................................3 1.2 System Life Cycle Processes and the Organization ........................................4 Section 2. Development Process ..............................................................................................5 2.1 Introduction ..........................................................................

Words: 10250 - Pages: 41

Premium Essay

Alhaji

...biometrics; technological, social, organisational and environmental influences; key technologies in the market today; design issues, including security, performance and testing. In chapter 3, attention turns to requirements analysis for the development of a fingerprint recognition system. The process follows a requirements engineering approach to development by formally establishing user requirements and allowing continuous requirements assessment throughout the project life-cycle. The design approach and methodology used to model the problem are also addressed here. Chapter 4 deals with high level design issues such as requirements engineering in the solution domain; assessment and selection of technology options; project management and implementation strategy and evaluation of user requirements. Acknowledgements...

Words: 5371 - Pages: 22

Premium Essay

Relations and Results

...content of each steam, organized into courses and sessions. http://carl.sandiego.edu/gba573/critical_issues_affecting_an_erp.htm  Koch, C., "Surprise, Surprise," CIO, June 15, 1996. The length of implementation is affected to a great extent by the number of modules being implemented, the scope of the implementation (different functional units or across multiple units spread out globally), the extent of customization, and the number of interfaces with other applications. The more the number of units, the longer implementation. Also, as the scope of implementation grows from a single business unit to multiple units spread out globally, the duration of implementation increases. A global implementation team has to be formed to prepare common requirements that do not violate the individual unit's specific requirements. This involves extensive travel and increases the length of implementation. The problem with ERP packages is that they are very general and need to be configured to a specific type of business. This customization takes a long time, depending on the specific requirements of the business. For example, SAP is so complex and general that there are nearly 8000 switches that need to be set properly to make it handle the business processes in a way a company needs. The extent of customization determines the length of the implementation. The more customization needed, the longer it will take to roll the software out and the more it will cost to keep it up-to-date.  Training...

Words: 1332 - Pages: 6

Premium Essay

Mgt2 Task1

...RMGT Task 1 GenRays HRIS Project Page 1 Table of Contents GenRays Matrix (A) ............................................................................................................................ 4 GenRays Project Charter (B) ....................................................................................................... 19 Project Title ............................................................................................................................................. 19 Purpose ................................................................................................................................................... 19 Description .............................................................................................................................................. 19 Objective ................................................................................................................................................. 20 Success Criteria or Expected Benefits ..................................................................................................... 21 Funding ................................................................................................................................................... 21 Major Deliverables .................................................................................................................................. 22 Acceptance Criteria ...............................................

Words: 8567 - Pages: 35

Premium Essay

Standard Operating Procedures

...Standard Operating Procedure Personal Finance Project Team Author/s: | Lucille Olivier | Document Ref: | SOP | Creation Date: | 13 September 2011 | Version: | 1.0 | Last Updated: | 13 September 2011 | Table of Contents 1. Introduction 1.1 Introduction 1.2 Purpose 1.3 Project Framework 1.4 Project definition, prioritisation and approval 1.5 Project Process 2. Initiation Phase – The Needs Analysis Process 2.1 Initiating a Project 2.2 Stakeholder Analysis 2.3 Kick Off Meeting 2.4 Functional Specification 2.5 Initiation Phase Overview 3. Validation and Feasibility Phase 3.1 Technical Specification 3.2 Costing 3.3 Reporting Analysis 3.4 Pre Project Plan 3.5 Communication Plan 3.6 Risk Register 4. The Approval Phase * The business case * Motivational Documents 5. The Prioritisation Phase 5.1 The priority matrix 5.2 Resource Scheduling 5.3 The Prioritisation Phase Overview 6. The Execution Phase 6.1 Training plan 6.2 Operations plan 6.3 Communication plan 6.4 The Execution Phase Overview 7. Monitoring and Controlling Phase 7.1 The Monitoring and Controlling Phase Overview 8. The Closure Phase 8.1 Administrative Closure 8.2 Preparing project closeout and lessons learnt 8.3 Recognize and celebrate outstanding project work 8.4 The Closure Phase Overview Introduction * 1.1 Introduction A Standard Operating...

Words: 4176 - Pages: 17

Premium Essay

Sdn and Openflow Protocols

...OpenFlow: Enabling Innovation in Campus Networks March 14, 2008 Nick McKeown Stanford University Tom Anderson University of Washington Hari Balakrishnan MIT Guru Parulkar Stanford University Larry Peterson Princeton University Jennifer Rexford Princeton University Scott Shenker University of California, Berkeley Jonathan Turner Washington University in St. Louis is almost no practical way to experiment with new network protocols (e.g., new routing protocols, or alternatives to IP) in sufficiently realistic settings (e.g., at scale carrying real traffic) to gain the confidence needed for their widespread deployment. The result is that most new ideas from the networking research community go untried and untested; hence the commonly held belief that the network infrastructure has “ossified”. Having recognized the problem, the networking community is hard at work developing programmable networks, such as GENI [1] a proposed nationwide research facility for experimenting with new network architectures and distributed systems. These programmable networks call for programmable switches and routers that (using virtualization) can process packets for multiple isolated experimental networks simultaneously. For example, in GENI it is envisaged that a researcher will be allocated a slice of resources across the whole network, consisting of a portion of network links, packet processing elements (e.g. routers) and end-hosts; researchers program their slices to behave...

Words: 5029 - Pages: 21

Premium Essay

System&Business Analyst

...In The Name of Allah The Merciful Name: Mohamed Hany El-Kholy Mobile: (002) (111) 2040400. : (002) (100) 7080618. E-mail: mh.elkholy@gmail.com Gender: Male Nationality: Egyptian Birth Date: 15/11/1988 Marital status: Single Military Status: Exempted Languages: Arabic Native Language English Fluent spoken, read and write French Fair Objective Obtaining a challenging position in a respectful software house, or multinational organization in the field of information technology. Aiming to fully utilize my professional experience, academic background, and further develop my technical skills. Work Experience Etisalat Misr – Outsourced by BBI 4/2011-Present Role * System Analyst * System Analyst in Data Quality - DWH Team. * Include service quality measures in the requirement/design for all projects. * Achieve quality assurance for new and modified models. * Increase quality checks for early problems detection by keeping enhance data quality process and methodology. * Grant smooth end month/end year closing for the Finance Department. * Performing daily, weekly, and monthly statistical reports, spreadsheets and graphs that ensure the integrity of trends for vital areas of the telecom operation and KPIs that support in taking right decisions. * Checking usage and revenue trends and investigate the reasons behind any deviations or spikes...

Words: 1028 - Pages: 5

Free Essay

Dsfsd

...CHAPTER 1 INTRODUCTION 1. INTRODUCTION There is an increasing need of network storage system in today’s world. Also, nowadays the files are stored over the network. This system provides an easy way to retrieve any file which is stored over the network. The IP address of any system which is connected to the network can be found out just by selecting the name of the system. Therefore the range of IP address where the search has to be done can be found by that. The required file can be searched easily when this IP address range is known. The name of the file to be searched is given as input. If possible the file format is also given along with it. The IP address range where the search has to be performed is also selected. If there is any particular system outside that particular range they also can be selected for search operation to be performed. The search is done in each working and connected system in the shared drive and the search results are displayed in the grid view which is the output. The file can be accessed just by clicking the result that appears. Thus this provides a easy way to search a file over a number of systems connected to a network simultaneously. Thus it is very effective since the search is done in a number of systems simultaneously. CHAPTER 2 LITERATURE REVIEW 2. LITERATURE REVIEW 2.1 Existing System: When a particular file has...

Words: 4829 - Pages: 20

Free Essay

Distance Learning Computer-Based Hands-on Workshop: Experiences on Virtual and Physical Lab Environments

...Distance Learning and the Internet Conference 2008 5-2 Distance Learning Computer-based Hands-on Workshop: Experiences on Virtual and Physical Lab Environments Patcharee Basu, Shoko Mikawa, Achmad Basuki, Achmad Husni Thamrin, Keiko Okawa, Jun Murai Keio University Plenary Sessions Waseda University Presentations {yoo, funya, abazh, husni, keiko, jun}@sfc.wide.ad.jp Abstract In response to the educational demands of computer-skilled human resources, distance learning with ability to support hands-on computer lesson is needed. In this paper, a platform for region-wide distance learning computer-based hands-on workshop is presented through the actual developments. The proposed platform supports 1) teaching/learning activities in a hands-on computer workshop 2) efficient large-scale remote computer laboratory. Computer virtualization and StarBED large-scale computing testbed were utilized to create a distance learning computer laboratory, virtual and physical. This paper discusses various aspects of deploying virtual and physical lab environments for region-wide learners in a synchronous-style distance learning workshop. Keywords Hands-on computer workshop, remote laboratory, distance learning, educational technology 1 Introduction With digital and telecommunication technologies, distance education has been developed to extend boundary of knowledge sharing to be more location and time independent. It has been widely deployed in academic or training programs...

Words: 4133 - Pages: 17

Premium Essay

Enterprise System Change Management-Mobile Technology

...ENTERPRISE SYSTEM CHANGE MANAGEMENT-MOBILE TECHNOLOGY Table of Contents Introduction 3 Purpose and aims 3 Research questions 4 Significance 4 Project design 5 Project plan 5 Planning 6 Analysis of use requirements 6 Design 6 Implementation 7 Testing 7 User training 7 Deployment 8 Maintenance/ on-going support 8 Risk assessment 11 Timeline Slippage 11 Additional costs 11 Lack of full commitment by team members 11 Conflicts among team members 11 Failure of equipment 12 Late change requests 12 Lack of required expertise 12 Risks analysis matrix 12 Communication 15 Management changes 16 References 17 [pic] Introduction This paper presents a project plan for the implementation of an Enterprise System at iae Saudi. Iae Saudi is a branch of iae GLOBAL limited, located in the Middle East. Iae Global limited is an international Education Recruitment and Management Company responsible for overseeing a network of offices located worldwide. Iae SAUDI plans to introduce additional offices in the Middle East (Iae SAUDI, 2015). However, there is no computer system to support the multiple branches managed by this company. The company currently uses Excel spread sheets for its information processing functions, which limits accessibility of information in all the branches managed by the company. Therefore, to address the limitations of Excel spreadsheets, there is need to introduce a mobile technology-based enterprise system. This technology is...

Words: 2791 - Pages: 12