16 Systems Analysis and Design in a Changing World, Fourth Edition.

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

Systems Analysis and Design in a Changing World, Fourth Edition
AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
CS487 Software Engineering Omar Aldawud
Chapter 2 Approaches to System Development
Chapter 13 Current Trends in System Development
NAUG NAUG Knowledge Evening – th February 2007.
Software Life Cycles ECE 417/617: Elements of Software Engineering
17 Systems Analysis and Design in a Changing World, Fifth Edition.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Iterative development and The Unified process
Systems Analysis and Design in a Changing World, Fifth Edition
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
An Agile View of Process
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Systems Analysis and Design in a Changing World, 6th Edition
Deployment Activities to make a new system operational
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
UML - Development Process 1 Software Development Process Using UML (2)
Chapter 17 Current Trends in System Development
Chapter 3 – Agile Software Development 1Chapter 3 Agile software 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
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Chapter 1 The Systems Development Environment
Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Tuesday, June 8 th, Agile Development-Successful Delivery & Implementing Across the Enterprise.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
What is Enterprise Architecture?
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Current Trends in Systems Develpment
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
Systems Analysis and Design in a Changing World, Fourth Edition
Embedded Systems Software Engineering
Approaches to Systems Development
Process 4 Hours.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Information Technology Project Management – Fifth Edition
Approaches to Systems Development
COMP 350: Object Oriented Analysis and Design Lecture 2
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
System DEVELOPMENT LIFE CYCLE MODELS
Presentation transcript:

16 Systems Analysis and Design in a Changing World, Fourth Edition

16 Systems Analysis and Design in a Changing World, 4th Edition 2 Overview u The IS discipline is dynamic and always changing u More complex system requirements have necessitated a whole new set of tools l The Unified Process (UP) l Radical, adaptive approaches, including Agile Development, Extreme Programming, and Scrum l Model-Driven Architecture for enterprise-level systems l Object frameworks and components to increase productivity and quality

16 Systems Analysis and Design in a Changing World, 4th Edition 3 Software Principles and Practices u The effort to develop current solutions is demanding u Current trends in modeling and development processes use five important principles: u Abstraction l Process of extracting core principles from a set of facts or statement u Models and modeling l An abstraction of something in the real world, representing a particular set of properties u Patterns l Standard solutions to a given problem or templates that can be applied to a problem u Reuse l Building standard solutions and components that can be used over and over again u Methodologies l A process—including the rules, guidelines, and techniques—that defines how systems are built

16 Systems Analysis and Design in a Changing World, 4th Edition 4 Adaptive Approaches to Development u Opposite end of spectrum from predictive approaches u Allow for uncertainty u Use empirical controls, not predictive controls l Describe processes that are variable and unpredictable l Monitor progress and make corrections on the fly

16 Systems Analysis and Design in a Changing World, 4th Edition 5 Adaptive Approaches to Development— Characteristics u Less emphasis on up-front analysis, design, and documentation u More focus on incremental development u More user involvement in project teams u Reduced detailed planning l Used for near-term work phases only u Tightly control schedules by fitting work into discrete time boxes u More use of small work teams that are self- organizing

16 Systems Analysis and Design in a Changing World, 4th Edition 6 The Unified Process (UP) u Object-oriented system development methodology (system development process) u Offered by Rational/IBM, UP developed by Booch, Rumbaugh, and Jacobson u UP should be tailored to organizational and project needs u Highly iterative life cycle u Project will be use-case driven and modeled using UML

16 Systems Analysis and Design in a Changing World, 4th Edition 7 The Unified Process Life Cycle u UP life cycle l Includes four phases which consist of iterations l Iterations are “mini-projects” u Inception – develop and refine system vision u Elaboration – define requirements and design and implement core architecture u Construction – continue design and implementation of routine, less risky parts u Transition – move the system into operational mode

16 Systems Analysis and Design in a Changing World, 4th Edition 8 The Unified Process Life Cycle (Figure 16-1)

16 Systems Analysis and Design in a Changing World, 4th Edition 9 UP Phases and Objectives (Figure 16-2)

16 Systems Analysis and Design in a Changing World, 4th Edition 10 The UP Disciplines u Discipline – set of functionally related development activities u Each iteration includes activities from all disciplines u Activities in each discipline produce artifacts – models, documents, source code, and executables u Six main UP development disciplines l Business modeling, requirements, design, implementation, testing, and deployment u Three additional support disciplines l Project management, configuration and change management, and environment

16 Systems Analysis and Design in a Changing World, 4th Edition 11 UP Disciplines Used in Varying Amounts in Each Iteration (Figure 16-3)

16 Systems Analysis and Design in a Changing World, 4th Edition 12 UP Life Cycle Model Showing Phases, Iterations, and Disciplines (Figure 16-4)

16 Systems Analysis and Design in a Changing World, 4th Edition 13 The Agile Development Philosophy and Modeling u Agile Development l A philosophy and set of guidelines for developing software in an unknown, rapidly changing environment u Requires agility – being able to change direction rapidly, even in the middle of a project u Agile Modeling l A philosophy about how to build models, some of which are formal and detailed and others are sketchy and minimal

16 Systems Analysis and Design in a Changing World, 4th Edition 14 The Agile Development Philosophy and Values u Responding to change over following a plan l An agile project is chaordic – both chaotic and ordered u Individuals and interactions over processes and tools u Working software over comprehensive documentation u Customer collaboration over contract negotiation

16 Systems Analysis and Design in a Changing World, 4th Edition 15 Adaptive Methodologies Using Agile Modeling (Figure 16-5)

16 Systems Analysis and Design in a Changing World, 4th Edition 16 Agile Modeling Principles u AM is about doing the right kind of modeling at the right level of detail for the right purposes l Use models as a means to an end instead of building models as end deliverables l Does not dictate which models to build or how formal to make those models l Has basic principles to express the attitude that developers should have as they develop software

16 Systems Analysis and Design in a Changing World, 4th Edition 17 Agile Modeling Principles (Figure 16-6)

16 Systems Analysis and Design in a Changing World, 4th Edition 18 Agile Modeling Practices (Figure 16-7)

16 Systems Analysis and Design in a Changing World, 4th Edition 19 Extreme Programming (XP) u An adaptive, agile development methodology created in the mid-1990s u Takes proven industry best practices and focuses on them intensely u 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

16 Systems Analysis and Design in a Changing World, 4th Edition 20 XP Core Values u Communication l In open, frequent verbal discussions u Simplicity l In designing and implementing solutions u Feedback l On functionality, requirements, designs, and code u Courage l In facing choices such as throwing away bad code or standing up to a too-tight schedule

16 Systems Analysis and Design in a Changing World, 4th Edition 21 Some XP Practices u Planning - Users develop a set of stories to describe what the system needs to do u Testing - Tests are written before solutions are implemented u Pair programming - Two programmers work together on designing, coding, and testing u Simple designs - “KISS” and design continuously u Refactoring - Improving code without changing what it does u Owning the code collectively - Anyone can modify any piece of code u Continuous integration - Small pieces of code are integrated into the system daily or more often u System metaphor - Guides members towards a vision of the system u On-site customer - Intensive user/customer interaction required u Small releases - Produce small and frequent releases to user/customer u Forty-hour work week - Project should be managed to avoid burnout u Coding standards - Follow coding standards to ensure flexibility

16 Systems Analysis and Design in a Changing World, 4th Edition 22 XP Development Approach (Figure 16-9)

16 Systems Analysis and Design in a Changing World, 4th Edition 23 Scrum u A quick, adaptive, and self-organizing development methodology l Responds to a current situation as rapidly and positively as possible l A truly empirical process control approach to developing software u Responsive to a highly changing, dynamic environment u Focuses primarily on the team level l Team exerts total control over its own organization and work processes u Uses a product backlog as the basic control mechanism l Prioritized list of user requirements used to choose work to be done during a Scrum project

16 Systems Analysis and Design in a Changing World, 4th Edition 24 Scrum Organization u Product owner l The client stakeholder for whom a system is being built l Maintains the product backlog list u Scrum master l Person in charge of a Scrum project u Scrum team or teams l Small group of developers l Set their own goals and distribute work among themselves

16 Systems Analysis and Design in a Changing World, 4th Edition 25 Scrum Practices u Sprint l The basic work process in Scrum l A time-controlled mini-project l Firm 30-day time box with a specific goal or deliverable u Parts of a sprint l Begins with a one-day planning session l A short daily Scrum meeting to report progress l Ends with a final half-day review

16 Systems Analysis and Design in a Changing World, 4th Edition 26 Project Management and Methodologies uProject time management lSmaller scope and focused on each iteration lRealistic work schedules uProject scope management lUsers and clients are responsible for the scope lScope control consists of controlling the number of iterations uProject cost management lMore difficult to predict because of unknowns uProject communication management lCritical because of open verbal communication and collaborative work uProject quality management lContinual testing and refactoring must be scheduled uProject risk management lHigh-risk aspects addresses in early iterations uProject human resource management lTeams organize themselves uProject procurement management lIntegrating purchased elements into the overall project lVerifying quality or components lSatisfying contractual commitments

16 Systems Analysis and Design in a Changing World, 4th Edition 27 Model-Driven Architecture—Generalizing Solutions u Model-Driven Architecture (MDA) is an OMG (Object Management Group) initiative l Built on the principles of abstraction, modeling, reuse, and patterns l Provides companies with a framework to identify and classify all system development work being done in an enterprise u Platform-independent model (PIM) l Describes system characteristics that are not specific to any deployment diagram l Uses UML u Platform-specific model (PSM) l Describes system characteristics that include deployment platform requirements u A set of standard transformations by the OMG move a PSM to a PIM

16 Systems Analysis and Design in a Changing World, 4th Edition 28 Software Development and MDA (Figure 16-11)

16 Systems Analysis and Design in a Changing World, 4th Edition 29 Object Frameworks u A set of classes that are designed to be reused in a variety of programs u The classes within an object framework are called foundation classes l Can be organized into one or more inheritance hierarchies l Application-specific classes can be derived from existing foundation classes

16 Systems Analysis and Design in a Changing World, 4th Edition 30 Object Framework Types u User-interface classes l Commonly used objects within a GUI u Generic data structure classes l Linked lists, binary trees, and so on, and related processing operations u Relational database interface classes l Classes to create and perform operations on tables u Classes specific to an application area l For use in a specific industry or application type

16 Systems Analysis and Design in a Changing World, 4th Edition 31 Impact on Design and Implementation u Frameworks must be chosen early in the project u Systems design must conform to specific assumptions about application program structure and operation that the framework imposes u Design and development personnel must be trained to use a framework effectively u Multiple frameworks might be required, necessitating early compatibility and integration testing

16 Systems Analysis and Design in a Changing World, 4th Edition 32 Components u Software modules that are fully assembled and ready to use l Reusable packages of executable code u Have well-defined interfaces to connect them to clients or other components l Public interfaces and encapsulated implementation u Standardized and interchangeable l Updating a single component does not require relinking, recompiling, and redistributing an entire application

16 Systems Analysis and Design in a Changing World, 4th Edition 33 Component Standards and Infrastructure u Interoperability of components requires standards to be developed and readily available u Components might also require standard support infrastructure l Software components have more flexibility when they can rely on standard infrastructure services to find other components u Networking standards are required for components in different locations

16 Systems Analysis and Design in a Changing World, 4th Edition 34 CORBA and COM+ u CORBA (Common Object Request Broker Architecture) is a standard for software component connection and interaction developed by the OMG l An object request broker (ORB) provides component directory and communication services l The Internet Inter-ORB Protocol (IIOP) is used to communicate among objects and ORBs u Component Object Model Plus (COM+) is a standard for software component connection and interaction developed by Microsoft

16 Systems Analysis and Design in a Changing World, 4th Edition 35 Enterprise JavaBeans u Part of the Java programming language’s extensive object framework (JDK) u A JavaBean can execute on a server and communicate with clients and other components using CORBA l A JavaBean implements the required component methods and follows the required naming conventions of the JavaBean standard u Platform independent

16 Systems Analysis and Design in a Changing World, 4th Edition 36 Components and the Development Life Cycle u Component purchase and reuse is a viable approach to speeding completion of a system l Purchased components can form all or part of a newly developed or re-implemented system l Components can be designed in-house and deployed in a newly developed or re-implemented system

16 Systems Analysis and Design in a Changing World, 4th Edition 37 Using Purchased Components— Implications u Standards and support software of purchased components must become part of the technical requirements definition u A component’s technical support requirements restrict the options considered during software architectural design

16 Systems Analysis and Design in a Changing World, 4th Edition 38 Services u New method of software reuse enabled by Internet—external services identified and used for applications u Called Web services and service-oriented architecture (SOA) u Microsoft.NET is service standard based on SOAP u Java 2 Web Services (J2WS) is service standard for services in Java