Deployment Activities to make a new system operational

Slides:



Advertisements
Similar presentations
Copyright © 2006 Data Access Technologies, Inc. Open Source eGovernment Reference Architecture Approach to Semantic Interoperability Cory Casanave, President.
Advertisements

COM vs. CORBA.
Systems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World
Approaches to Systems Development
Chapter 13 Current Trends in System Development
CS 432 Object-Oriented Analysis and Design
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
8.
17 Systems Analysis and Design in a Changing World, Fifth Edition.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
Introduction To System Analysis and Design
Software: Systems and Application Software
Object Oriented System Development with VB .NET
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
8 Systems Analysis and Design in a Changing World, Fifth Edition.
16 Systems Analysis and Design in a Changing World, Fourth Edition.
B. RAMAMURTHY Web services. Topics What is a web service? From OO to WS WS and the cloud WS code.
Introduction To System Analysis and design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Chapter 9 Elements of Systems Design
The Design Discipline.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
12.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Chapter 17 Current Trends in System Development
17 Chapter 16: Trends in System Development Systems Analysis and Design in a Changing World.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the Agile Development philosophy  List and describe the features.
Chapter 17: Current Trends in System Development
Objects and Components. The adaptive organization The competitive environment of businesses continuously changing, and the pace of that change is increasing.
Current Trends in Systems Develpment
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
An Introduction to Software Architecture
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Introduction to MDA (Model Driven Architecture) CYT.
Introduction To System Analysis and Design
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Systems Analysis and Design in a Changing World, 3rd Edition
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Model Driven Architecture MDA SE-548 Lale Doğan
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
A service Oriented Architecture & Web Service Technology.
Chapter 1 Assuming the Role of the Systems Analyst.
Introduction To System Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 8 Environments, Alternatives, and Decisions.
Objectives Describe implementation activities
Systems Analysis – ITEC 3155 Evaluating Alternatives for Requirements, Environment, and Implementation.
An Introduction to Software Architecture
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The Agile Development Philosophy and Modeling 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

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

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

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

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

XP Core Values Communication Simplicity Feedback Courage 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

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

Some XP Practices Planning Testing Pair programming 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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