1 / 43

Deployment

Deployment. Activities to make a new system operational Involve many conflicting constraints Costs Need to main positive customer relations Need to support employees Logistical complexity Overall risk to the organization. Figure 13-13 Deployment discipline activities.

cera
Télécharger la présentation

Deployment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Deployment • Activities to make a new system operational • Involve many conflicting constraints • Costs • Need to main positive customer relations • Need to support employees • Logistical complexity • Overall risk to the organization Object-Oriented Analysis and Design with the Unified Process

  2. Figure 13-13 Deployment discipline activities Object-Oriented Analysis and Design with the Unified Process

  3. Acquiring Hardware and System Hardware • Application software must have a supporting infrastructure (which may already be in place) • Acquisition of an entirely new infrastructure includes • Planning • Developing a request for proposal • Evaluating results • Choosing one or more vendors • Installation and configuration Object-Oriented Analysis and Design with the Unified Process

  4. Packaging and Installing Components • Components must be • Installed on a host server • Added to a component registry • Assigned one or more network addresses • May include XML files to store registration and access information • Developers can package and install components using development tools and utilities Object-Oriented Analysis and Design with the Unified Process

  5. Figure 13-15 Automated component deployment with Oracle Developer Object-Oriented Analysis and Design with the Unified Process

  6. Training Users • End users and system operators need training • End user training • Hands-on training and tutorials • Group tutorials • System operator training • Less formal • Self-study • Training materials are developed as soon as the interfaces are reasonably stable Object-Oriented Analysis and Design with the Unified Process

  7. Converting and Initializing Data • Data needed at system startup can be obtained from • Files or databases of a system being replaced • Manual records • Files or databases of other systems in the organizations • User feedback during normal system operation • Existing databases are commonly modified for reuse in new or upgraded systems Object-Oriented Analysis and Design with the Unified Process

  8. Software Principles and Practices • Ubiquitous computing is the current trend in our society • Using computer technology in every aspect of our lives • The effort to develop current solutions is demanding • Current trends in modeling and in processes use five important principles Object-Oriented Analysis and Design with the Unified Process

  9. Software Principles and Practices (continued) • Abstraction • Process of extracting core principles from a set of facts or statement • Example: Metamodels describe the characteristics of another model • Models and Modeling • An abstraction of something in the real world, representing a particular set of properties Object-Oriented Analysis and Design with the Unified Process

  10. Software Principles and Practices (continued) • Patterns • Standard solutions to a given problem or templates that can be applied to a problem • Reuse • Building standard solutions and components that can be used over and over again • Methodologies • A process - including the rules, guidelines, and techniques - that defines how systems are built Object-Oriented Analysis and Design with the Unified Process

  11. Importance of Design Patterns • Standard design templates can speed OO design • Patterns can exist at different levels of abstraction • At the most concrete level, a class definition with code • At the most abstract level, an approach to a problem • Patterns should contain five main elements • Pattern name, problem, solution, example, benefits and consequences Object-Oriented Analysis and Design with the Unified Process

  12. Figure 9-6 Pattern description for the controller pattern Object-Oriented Analysis and Design with the Unified Process

  13. Basic Design Patterns • The authors of Elements of Reusable Object-Oriented Software (referred to as the Gang of Four) developed a basic classification scheme for patterns (Figure 9-7) • The 23 GoF patterns are some of the most fundamental and important patterns in use • Scores of other patterns have been defined • For example, both Java and .NET have sets of enterprise patterns Object-Oriented Analysis and Design with the Unified Process

  14. Figure 9-7 Classification of design patterns Object-Oriented Analysis and Design with the Unified Process

  15. Singleton Pattern • For classes that must have only one instance, but need to be invoked from several classes and locations within the system • The class itself controls the creation of only one instance • A static variable of the class refers to the object that is created • A class method instantiates the object on the first call, and returns a reference to the object on subsequent calls Object-Oriented Analysis and Design with the Unified Process

  16. Figure 9-8 Singleton pattern template Object-Oriented Analysis and Design with the Unified Process

  17. Adaptor Pattern • Plugs an external class into a system • Converts the method calls from within the system to match the method names in the external class • A standard solution for protection from variations • Insulates the system from frequently changing classes • An interface is frequently used to specify and enforce the use of correct method names Object-Oriented Analysis and Design with the Unified Process

  18. Figure 9-10 Adapter pattern template Object-Oriented Analysis and Design with the Unified Process

  19. Observer pattern • Used to handle event-processing and reduce coupling • The domain class • Allows other classes to “subscribe” as listeners • “Publishes” the changes to the listeners • The windows class • Sends a reference of itself to subscribe as a listener • Implements the method to be invoked when notified • Inherits the method from the listener interface Object-Oriented Analysis and Design with the Unified Process

  20. Figure 9-13 Observer pattern template Object-Oriented Analysis and Design with the Unified Process

  21. The Agile Development Philosophy and Modeling • Agile Development • A philosophy and set of guidelines for developing software in an unknown, rapidly changing environment • Requires agility - being able to change direction rapidly, even in the middle of a project • Agile Modeling • A philosophy about how to build models, some of which are formal and detailed and others sketchy and minimal Object-Oriented Analysis and Design with the Unified Process

  22. The Agile Development Philosophy and Values • Responding to change over following a plan • An agile project is chaordic - both chaotic and ordered • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation Object-Oriented Analysis and Design with the Unified Process

  23. Figure 14-1 Adaptive methodologies using Agile Modeling Object-Oriented Analysis and Design with the Unified Process

  24. Figure 14-2 Agile Modeling principles Object-Oriented Analysis and Design with the Unified Process

  25. Extreme Programming • An adaptive, agile development methodology created in the mid-1990s • Extreme programming • Takes proven industry best practices and focuses on them intensely • Combines those best practices (in their intense form) in a new way to produce a result that is greater than the sum of the parts Object-Oriented Analysis and Design with the Unified Process

  26. XP Core Values • Communication • In open, frequent verbal discussions • Simplicity • In designing and implementing solutions • Feedback • On functionality, requirements, designs, and code • Courage • In facing choices such as throwing away bad code or standing up to a too-tight schedule Object-Oriented Analysis and Design with the Unified Process

  27. Figure 14-4 XP core values and practices Object-Oriented Analysis and Design with the Unified Process

  28. Some XP Practices • Planning • Users develop a set of stories to describe what the system needs to do • Testing • Tests are written before solutions are implemented • Pair programming • Two programmers work together on designing, coding, and testing Object-Oriented Analysis and Design with the Unified Process

  29. Some XP Practices (continued) • Refactoring • Improving code without changing what it does • Owning the code collectively • Anyone can modify any piece of code • Continuous integration • Small pieces of code are integrated into the system daily or more often Object-Oriented Analysis and Design with the Unified Process

  30. Figure 14-5 The XP development approach Object-Oriented Analysis and Design with the Unified Process

  31. Model-Driven Architecture - Generalizing Solutions • Model-Driven Architecture (MDA) is an OMG (Object Management Group) initiative • Built on the principles of abstraction, modeling, reuse and patterns • Provides companies with a framework to identify and classify all system development work being done in an enterprise • MDA extracts current systems features and information and combines them into a platform independent model (PIM) Object-Oriented Analysis and Design with the Unified Process

  32. Figure 14-7 Software development and MDA Object-Oriented Analysis and Design with the Unified Process

  33. Model-driven Architecture (continued) • Platform-independent model (PIM) • Describes system characteristics are not specific to any deployment diagram • Uses UML • Platform-specific model (PSM) • Describes system characteristics that include deployment platform requirements • A set of standard transformations by the OMG move a PSM to a PIM Object-Oriented Analysis and Design with the Unified Process

  34. Figure 14-8 Metamodels and transitions between PIM, PSM, and code Object-Oriented Analysis and Design with the Unified Process

  35. Object Frameworks • A set of classes that are designed to be reused in a variety of programs • The classes within an object framework are called foundation classes • Can be organized into one or more inheritance hierarchies • Application-specific classes can be derived from existing foundation classes Object-Oriented Analysis and Design with the Unified Process

  36. Object Framework Types • User-interface classes • Commonly used objects within a GUI • Generic data structure classes • Linked lists, binary trees, etc., and related processing operations • Relational database interface classes • Classes to create and perform operations on tables • Classes specific to an application area • For use in a specific industry or application type Object-Oriented Analysis and Design with the Unified Process

  37. Impact on Design and Implementation • Frameworks must be chosen early in the project • Systems design must conform to specific assumptions about application program structure and operation that the framework imposes • Design and development personnel must be trained to use a framework effectively • Multiple frameworks may be required, necessitating early compatibility and integration testing Object-Oriented Analysis and Design with the Unified Process

  38. Components • Software modules that are fully assembled and ready to use • Reusable packages of executable code • Has well-defined interfaces to connect it to clients or other components • Public interface and encapsulated implementation • Standardized and interchangeable • Updating a single component does not require relinking, recompiling, and redistributing an entire application Object-Oriented Analysis and Design with the Unified Process

  39. Component Standards and Infrastructure • Interoperability of components requires standards to be developed and readily available • Components may also require standard support infrastructure • Software components have more flexibility when they can rely on standard infrastructure services to find other components • Networking standards are required for components in different locations Object-Oriented Analysis and Design with the Unified Process

  40. SOAP and .NET • Simple Object Access Protocol (SOAP) is a standard for component communication over the Internet using HTTP and XML • An open standard • Does not have the infrastructure requirements or proprietary technology of CORBA and COM+ • Adopted by Microsoft as the basis of its .NET distributed software platform • Used for Web services Object-Oriented Analysis and Design with the Unified Process

  41. Figure 14-10 Component communication using SOAP Object-Oriented Analysis and Design with the Unified Process

  42. Components and the Development Life Cycle • Component purchase and reuse is a viable approach to speeding completion of a system • Purchased components can form all or part of a newly developed or reimplemented system • Components can be designed in-house and deployed in a newly developed or reimplemented system Object-Oriented Analysis and Design with the Unified Process

More Related