Systems Analysis and Design in a Changing World

  • Slides: 38
Download presentation
Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design

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

16 Overview u The IS discipline is dynamic and always changing u More complex

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

16 Software Principles and Practices u u u The effort to develop current solutions

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

16 Adaptive Approaches to Development u Opposite end of spectrum from predictive approaches u

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

Adaptive Approaches to Development— Characteristics 16 u Less emphasis on up-front analysis, design, and

Adaptive Approaches to Development— Characteristics 16 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 l detailed planning 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 selforganizing Systems Analysis and Design in a Changing World, 4 th Edition 5

16 The Unified Process (UP) u Object-oriented system development methodology (system development process) u

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

16 The Unified Process Life Cycle u UP life cycle l Includes four phases

16 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 mode – move the system into operational Systems Analysis and Design in a Changing World, 4 th Edition 7

16 The Unified Process Life Cycle (Figure 16 -1) Systems Analysis and Design in

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

16 UP Phases and Objectives (Figure 16 -2) Systems Analysis and Design in a

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

The UP Disciplines u Discipline activities u Each 16 – set of functionally related

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

UP Disciplines Used in Varying Amounts in 16 Each Iteration (Figure 16 -3) Systems

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

UP Life Cycle Model 16 Showing Phases, Iterations, and Disciplines (Figure 16 -4) Systems

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

The Agile Development Philosophy and Modeling u Agile l 16 Development A philosophy and

The Agile Development Philosophy and Modeling u Agile l 16 Development 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 l Modeling A philosophy about how to build models, some of which are formal and detailed and others are sketchy and minimal Systems Analysis and Design in a Changing World, 4 th Edition 13

The Agile Development Philosophy and Values u Responding l 16 to change over following

The Agile Development Philosophy and Values u Responding l 16 to change over following a plan 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 Systems Analysis and Design in a Changing World, 4 th Edition 14

Adaptive Methodologies Using Agile Modeling (Figure 16 -5) Systems Analysis and Design in a

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

16 Agile Modeling Principles u AM is about doing the right kind of modeling

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

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

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

16 Agile Modeling Practices (Figure 16 -7) Systems Analysis and Design in a Changing

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

16 Extreme Programming (XP) u An adaptive, agile development methodology created in the mid-1990

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

16 XP Core Values u Communication l In open, frequent verbal discussions u Simplicity

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

Some XP Practices 16 u Planning - Users develop a set of stories to

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

16 XP Development Approach (Figure 16 -9) Systems Analysis and Design in a Changing

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

Scrum u A quick, adaptive, and self-organizing development methodology l Responds to a current

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 u 16 Team exerts total control over its own organization and work processes 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 Systems Analysis and Design in a Changing World, 4 th Edition 23

Scrum Organization u Product 16 owner l The client stakeholder for whom a system

Scrum Organization u Product 16 owner l The client stakeholder for whom a system is being built l Maintains the product backlog list u Scrum l master 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 Systems Analysis and Design in a Changing World, 4 th Edition 24

16 Scrum Practices u Sprint l The basic work process in Scrum l A

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

Project Management and Methodologies u u Project time management l Smaller scope and focused

Project Management and Methodologies u u Project time management l Smaller scope and focused on each iteration l Realistic work schedules l Scope control consists of controlling the number of iterations Project cost management l u Users and clients are responsible for the scope More difficult to predict because of unknowns Project communication management l Critical because of open verbal communication and collaborative work Systems Analysis and Design in a Changing World, 4 th Edition Project quality management l u Project scope management l u u High-risk aspects addresses in early iterations Project human resource management l u Continual testing and refactoring must be scheduled Project risk management l u 16 Teams organize themselves Project procurement management l Integrating purchased elements into the overall project l Verifying quality or components l Satisfying contractual commitments 26

Model-Driven Architecture—Generalizing Solutions u u u Model-Driven Architecture (MDA) is an OMG (Object Management

Model-Driven Architecture—Generalizing Solutions u u 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 Platform-independent model (PIM) l Describes system characteristics that are not specific to any deployment diagram l Uses UML Platform-specific model (PSM) l u 16 Describes system characteristics that include deployment platform requirements A set of standard transformations by the OMG move a PSM to a PIM Systems Analysis and Design in a Changing World, 4 th Edition 27

16 Software Development and MDA (Figure 16 -11) Systems Analysis and Design in a

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

16 Object Frameworks u. A set of classes that are designed to be reused

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

16 Object Framework Types u User-interface l Commonly used objects within a GUI u

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

16 Impact on Design and Implementation u Frameworks must be chosen early in the

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

16 Components u Software modules that are fully assembled and ready to use l

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

16 Component Standards and Infrastructure u Interoperability of components requires standards to be developed

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

16 CORBA and COM+ u CORBA (Common Object Request Broker Architecture) is a standard

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

16 Enterprise Java. Beans u Part of the Java programming language’s extensive object framework

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

16 Components and the Development Life Cycle u Component purchase and reuse is a

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

Using Purchased Components— Implications 16 u Standards and support software of purchased components must

Using Purchased Components— Implications 16 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 Systems Analysis and Design in a Changing World, 4 th Edition 37

16 Services u New method of software reuse enabled by Internet—external services identified and

16 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 (J 2 WS) is service standard for services in Java Systems Analysis and Design in a Changing World, 4 th Edition 38