Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "16 Systems Analysis and Design in a Changing World, Fourth Edition."— Presentation transcript:

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

2 16 Systems Analysis and Design in a Changing World, 4th Edition 2 Learning Objectives u Explain the foundations for the adaptive methodologies to development u List and describe the features of the Unified Process system development methodology u List and describe the features of Agile Modeling

3 16 Systems Analysis and Design in a Changing World, 4th Edition 3 Learning Objectives ( continued ) u Compare and contrast the features of Extreme Programming and Scrum development u Explain the importance of Model-Driven Architecture on enterprise-level development u Describe frameworks and components, the process by which they are developed, and their impact on system development

4 16 Systems Analysis and Design in a Changing World, 4th Edition 4 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

5 16 Systems Analysis and Design in a Changing World, 4th Edition 5 Software Principles and Practices u Ubiquitous computing is the current trend in our society l Using computer technology in every aspect of our lives u The effort to develop current solutions is demanding u Current trends in modeling and development processes use five important principles

6 16 Systems Analysis and Design in a Changing World, 4th Edition 6 Software Principles and Practices (continued) u Abstraction l Process of extracting core principles from a set of facts or statement l Example: Metamodels describe the characteristics of another model u Models and modeling l An abstraction of something in the real world, representing a particular set of properties

7 16 Systems Analysis and Design in a Changing World, 4th Edition 7 Software Principles and Practices (continued) 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

8 16 Systems Analysis and Design in a Changing World, 4th Edition 8 Adaptive Approaches to Development u Opposite end of spectrum from predictive approaches (recall Chapter 2) 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

9 16 Systems Analysis and Design in a Changing World, 4th Edition 9 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

10 16 Systems Analysis and Design in a Changing World, 4th Edition 10 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

11 16 Systems Analysis and Design in a Changing World, 4th Edition 11 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

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

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

14 16 Systems Analysis and Design in a Changing World, 4th Edition 14 The UP Disciplines u UP defines disciplines used within each phase 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 Learning CIS/MIS means learning techniques from these disciplines

15 16 Systems Analysis and Design in a Changing World, 4th Edition 15 The UP Disciplines (continued) 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 16 Systems Analysis and Design in a Changing World, 4th Edition 16 UP Disciplines Used in Varying Amounts in Each Iteration (Figure 16-3)

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

18 16 Systems Analysis and Design in a Changing World, 4th Edition 18 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

19 16 Systems Analysis and Design in a Changing World, 4th Edition 19 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

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

21 16 Systems Analysis and Design in a Changing World, 4th Edition 21 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

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

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

24 16 Systems Analysis and Design in a Changing World, 4th Edition 24 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

25 16 Systems Analysis and Design in a Changing World, 4th Edition 25 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

26 16 Systems Analysis and Design in a Changing World, 4th Edition 26 Some XP Practices u Planning l Users develop a set of stories to describe what the system needs to do u Testing l Tests are written before solutions are implemented u Pair programming l Two programmers work together on designing, coding, and testing u Simple designs l “KISS” and design continuously

27 16 Systems Analysis and Design in a Changing World, 4th Edition 27 Some XP Practices (continued) u Refactoring l Improving code without changing what it does u Owning the code collectively l Anyone can modify any piece of code u Continuous integration l Small pieces of code are integrated into the system daily or more often u System metaphor l Guides members towards a vision of the system

28 16 Systems Analysis and Design in a Changing World, 4th Edition 28 Some XP Practices (continued) u On-site customer l Intensive user/customer interaction required u Small releases l Produce small and frequent releases to user/customer u Forty-hour work week l Project should be managed to avoid burnout u Coding standards l Follow coding standards to ensure flexibility

29 16 Systems Analysis and Design in a Changing World, 4th Edition 29 XP Core Values and Practices (Figure 16-8)

30 16 Systems Analysis and Design in a Changing World, 4th Edition 30 XP Project Activities u System-level activities l Occur once during each development project l Involve creating user stories to planning releases u Release-level activities l Cycle multiple times – once for each release l Are developed and tested in a period of no more than a few weeks or months u Iteration-level activities l Code and test a specific functional subset in a few days or weeks

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

32 16 Systems Analysis and Design in a Changing World, 4th Edition 32 Scrum u A quick, adaptive, and self-organizing development methodology l Named after rugby’s system for getting an out-of- play ball into play l Responds to a current situation as rapidly and positively as possible l A truly empirical process control approach to developing software

33 16 Systems Analysis and Design in a Changing World, 4th Edition 33 Scrum Philosophy 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

34 16 Systems Analysis and Design in a Changing World, 4th Edition 34 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

35 16 Systems Analysis and Design in a Changing World, 4th Edition 35 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

36 16 Systems Analysis and Design in a Changing World, 4th Edition 36 Scrum Software Development Process (Figure 16-10)

37 16 Systems Analysis and Design in a Changing World, 4th Edition 37 Project Management and Adaptive Methodologies u Project time management l Smaller scope and focused on each iteration l Realistic work schedules u Project scope management l Users and clients are responsible for the scope l Scope control consists of controlling the number of iterations u Project cost management l More difficult to predict because of unknowns

38 16 Systems Analysis and Design in a Changing World, 4th Edition 38 Project Management and Adaptive Methodologies (continued) u Project communication management l Critical because of open verbal communication and collaborative work u Project quality management l Continual testing and refactoring must be scheduled u Project risk management l High-risk aspects addressed in early iterations

39 16 Systems Analysis and Design in a Changing World, 4th Edition 39 Project Management and Adaptive Methodologies (continued) u Project human resource management l Teams organize themselves u Project procurement management l Integrating purchased elements into the overall project l Verifying quality of components l Satisfying contractual commitments

40 16 Systems Analysis and Design in a Changing World, 4th Edition 40 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 MDA extracts current systems features and information and combines them into a platform independent model (PIM)

41 16 Systems Analysis and Design in a Changing World, 4th Edition 41 Model-Driven Architecture (continued) 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

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

43 16 Systems Analysis and Design in a Changing World, 4th Edition 43 Metamodels and Transitions between PIM, PSM, and Code (Figure 16-12)

44 16 Systems Analysis and Design in a Changing World, 4th Edition 44 Partial Metamodel of UML Class Diagram (Figure 16-13)

45 16 Systems Analysis and Design in a Changing World, 4th Edition 45 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

46 16 Systems Analysis and Design in a Changing World, 4th Edition 46 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

47 16 Systems Analysis and Design in a Changing World, 4th Edition 47 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

48 16 Systems Analysis and Design in a Changing World, 4th Edition 48 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

49 16 Systems Analysis and Design in a Changing World, 4th Edition 49 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

50 16 Systems Analysis and Design in a Changing World, 4th Edition 50 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

51 16 Systems Analysis and Design in a Changing World, 4th Edition 51 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

52 16 Systems Analysis and Design in a Changing World, 4th Edition 52 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

53 16 Systems Analysis and Design in a Changing World, 4th Edition 53 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

54 16 Systems Analysis and Design in a Changing World, 4th Edition 54 Monitoring System Performance u Examine component-based designs to estimate network traffic patterns and demands on computer hardware u Examine existing server capacity and network infrastructure to determine their ability to accommodate communication among components u Upgrade network and server capacity prior to development and testing

55 16 Systems Analysis and Design in a Changing World, 4th Edition 55 Monitoring System Performance (continued) u Test system performance during development and make any necessary adjustments u Continuously monitor system performance after deployment to detect emerging problems u Redeploy components, upgrade server capacity, and upgrade network capacity to reflect changing conditions

56 16 Systems Analysis and Design in a Changing World, 4th Edition 56 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

57 16 Systems Analysis and Design in a Changing World, 4th Edition 57 Component Communication Using SOAP (Figure 16-14)

58 16 Systems Analysis and Design in a Changing World, 4th Edition 58 Summary u Adaptive development methodologies l Unified Process (UP) l Agile Modeling and Agile Development u Flexibility in an unpredictable business world l Extreme Programming (XP) u Tests are written first; programmers work in pairs l Scrum u Defines a specific goal that can be completed within four weeks

59 16 Systems Analysis and Design in a Changing World, 4th Edition 59 Summary ( continued ) u Model-Driven Architecture (MDA) l Provides techniques for large organizations to integrate all software and all software development across the entire enterprise u Software reuse is a fundamental approach to rapid development l Object frameworks provide a means of reusing existing software through inheritance l Components are units of reusable executable code that behave as distributed objects


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

Similar presentations


Ads by Google