Introduction to Computer Science

Introduction to Computer Science

Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to the SDLC in place of the more predictive traditional SDLC Describe how the more adaptive Unified Process (UP) life cycle uses iterative and incremental development Explain the differences between a model, a tool, a technique, and a methodology Object-Oriented Analysis and Design with the Unified Process

2 Objectives (continued) Describe the Unified Process as a comprehensive system development methodology that combines proven best practices with the iterative UP life cycle Describe the disciplines used in a UP development project Describe the key features of the object-oriented approach Explain how automated tools are used in system

development Object-Oriented Analysis and Design with the Unified Process 3 Overview Traditional systems development life cycle (SDLC) Unified Process (UP) Iterative, incremental, adaptive approach to life cycle Nine disciplines: six for system development, three for support

Review object-oriented (OO) concepts Describe computer support tools such as CASE Apply UP to the development project of RMO Object-Oriented Analysis and Design with the Unified Process 4 The Systems Development Life Cycle SDLC: process of building, deploying, using, and updating an information system Text focus: initial development project

Chief variations of SDLC Predictive: project planned entirely in advance Adaptive: planning leaves room for contingencies Pure approaches to SDLC are rare Most projects have predictive and adaptive elements Object-Oriented Analysis and Design with the Unified Process 5 Figure 2-1 Predictive versus adaptive approaches to the SDLC

Object-Oriented Analysis and Design with the Unified Process 6 The Traditional Predictive SDLC Approaches Five activities or phases in a project Planning, analysis, design, implementation, support Pure waterfall approach (predictive SDLC) Assumes project phases can be sequentially executed

Project drops over the waterfall into the next phase and there is no going back Modified waterfall approach Tempers pure waterfall by recognizing phase overlap Informs many current projects and company systems Object-Oriented Analysis and Design with the Unified Process 7 WATERFALL MODEL The waterfall model specifies a set of sequential

phases for software development Each step cannot begin until the previous step has been completed and documented. It is document-driven. Design is conceived as processes and data, not as objects. Object-Oriented Analysis and Design with the Unified Process 8 Figure 2-3

SDLC Phases and Objectives Object-Oriented Analysis and Design with the Unified Process 9 Figure 2-4 The Waterfall Approach to the SDLC Object-Oriented Analysis and Design with the Unified Process 10 The Newer Adaptive

Approaches to the SDLC The spiral model: early form of adaptive SDLC Activities radiate from center starting point Prototypes are artifacts of each phase Iterative problem solving: repeats activities Several approaches to structuring iterations

Define and implement the key system functions Focus on one subsystem at a time Define by complexity or risk of certain components Complete parts incrementally Object-Oriented Analysis and Design with the Unified Process 11 Figure 2-6 The Spiral Life Cycle Model Object-Oriented Analysis and Design with the Unified Process

12 The Unified Process Life Cycle UP life cycle Includes (4) phases which consist of iterations Iterations are mini-projects Inception: develop and refine system vision Elaboration: define requirements and core architecture Construction: continue design and implementation Transition: move the system into operational mode

Object-Oriented Analysis and Design with the Unified Process 13 SPIRAL MODEL The spiral model is a risk-oriented lifecycle model that breaks a software project up into miniprojects Object-Oriented Analysis and Design with the Unified Process 14

Figure 2-8 The Unified Process System Development Life Cycle Object-Oriented Analysis and Design with the Unified Process 15 Figure 2-9 UP Phases and Objectives Object-Oriented Analysis and Design with the Unified Process 16

Four Phases In The Unified Process Inception (Make the Bussiness Case) Elaboration (Define the system architecture) Construction (Construct the system) Transition (Integrate the system with the using

organization) Object-Oriented Analysis and Design with the Unified Process 17 Methodologies, Models, Tools, and Techniques System development life cycle one of many models Analysts have a wide variety of aids beyond SDLC

Object-Oriented Analysis and Design with the Unified Process 18 Methodologies and System Development Processes System development methodology Provides guidelines every activity in system development Includes specific models, tools, and techniques

UP is a system development methodology Process is a synonym for methodology Methodologies supported with documentation Object-Oriented Analysis and Design with the Unified Process 19 Models Model abstract (separate) aspects of the real world Models come in many forms Physical analogs, mathematical, graphical

System development models are highly abstract Depict inputs, outputs, processes, data, objects, interactions, locations, networks, and devices Unified Modeling Language (UML): standard notation PERT or Gantt charts: model project itself Object-Oriented Analysis and Design with the Unified Process 20 Figure 2-10 Some Models used in System Development

Object-Oriented Analysis and Design with the Unified Process 21 Tools Tool: software used to create models or components Example tools Project management software tools (Microsoft Project) Integrated development environments (IDEs) Code generators Computer-aided system engineering (CASE) Object-Oriented Analysis and Design with the Unified Process

22 Techniques Technique Collection of guidelines Enables an analyst to complete an activity or task Example techniques Domain-modeling , use case modeling, softwaretesting, user-interviewing techniques, relational database design techniques

Proven techniques are embraced as Best Practices Object-Oriented Analysis and Design with the Unified Process 23 Figure 2-13 Relationships of Models, Tools, and Techniques in a System Development Methodology Object-Oriented Analysis and Design with the Unified Process 24

The Unified Process as a System Development Methodology UP: object-oriented system development methodology UP should be tailored to organizational and project needs Barbara Halifax selects a lighter UP variation for RMOs customer support system project Project will be use case driven Object-Oriented Analysis and Design with the Unified Process 25

The Unified Process as a System Development Methodology (continued) Use case Activity that the system carries out Basis for defining requirements and designs UP defines disciplines within each phase Discipline: set of functionally related activities Iterations concatenate activities from all disciplines Activities in each discipline produce artifacts;

models, documents, source code, and executables Object-Oriented Analysis and Design with the Unified Process 26 Figure 2-15 UP Life Cycle with Phases, Iterations, and Disciplines Object-Oriented Analysis and Design with the Unified Process 27 The UP Disciplines

Six main UP development disciplines Business modeling, requirements, design, implementation, testing, and deployment Each iteration Similar to a mini-project Results in a completed portion of the system Three additional support disciplines Project management, configuration and change management, and environment Object-Oriented Analysis and Design with the Unified Process

28 Nine core Discipline are: Business Modeling Re-envision and Re-engineering the Organization Requirements Define the User Requirements Design Design the system

Implementation Write the software Object-Oriented Analysis and Design with the Unified Process 29 Nine core Discipline are: (continued) Test Test the system

Deployment Integrate the software to the using organization Configuration and Change management Manage the artifacts of the evolving system Project Management Manage the development process Environment Support the development process with processes and tools

Object-Oriented Analysis and Design with the Unified Process 30 Project Management Most important support discipline Project management activities Finalize the system and project scope Develop the project and iteration schedule Identify project risks and confirm feasibility Monitor and control the projects plan Monitor and control communications

Monitor and control risks and outstanding issues Object-Oriented Analysis and Design with the Unified Process 31 Configuration and Change Management Configuration and change discipline pertains to:

Requirements Design Source code Executables The two activities in this discipline Develop change control procedures Manage models and software components Object-Oriented Analysis and Design with the Unified Process 32

Environment Development environment includes Available facilities Design of the workspace Forums for team communication and interaction Environment discipline activities Select and configure the development tools Tailor the UP development process Provide technical support services Object-Oriented Analysis and Design with the Unified Process

33 Overview of Object-Oriented Concepts OOA views system as a collection of objects Object: entity capable of responding to messages

Languages: Simula, C++, Java, C#, Visual Basic .NET Object-oriented design (OOD) Defines additional types of communication objects Shows how the objects interact to complete tasks Refines definition of objects for implementation Object-oriented programming (OOP): object coding Object-Oriented Analysis and Design with the Unified Process 34 Recognizing the Benefits of OO

Development Original application of object-oriented technology Computer simulations Graphical user interfaces Rationale for use in information systems Benefits of naturalness Reusability Object-Oriented Analysis and Design with the Unified Process 35

Objects Are More Natural OO approach mirrors human perception: objects moving through space OOA, OOD, and OOP imitate perceptual processes by modeling classes of objects Some system developers resist OO development New programmers are more receptive to OO approach System users appreciate object-orientation They discuss the objects involved in their work Hierarchies are common tools for organizing knowledge Object-Oriented Analysis and Design with the Unified Process

36 Classes of Objects Can Be Reused Classes of objects have a long shelf life Example: Customer class adaptability Reused in systems where customer objects needed Extended through inheritance to a new subclass Reused during analysis, design, or programming Classes may be stored, with implementation hidden, in class libraries

Object-Oriented Analysis and Design with the Unified Process 37 Understanding Object-Oriented Concepts Object: thing with attributes and behaviors Types of objects User interface Problem domain objects Attributes are associated with data

Behaviors are associated with methods, functions, and procedures Object-Oriented Analysis and Design with the Unified Process 38 Ex: A coffee mug on my desk is in a filled state because it is shaped to hold liquids and there is still coffee in it. When there is no more coffee in it, the state of the mug can be defined as empty. If it falls on the floor and breaks, it will be in a broken state. My coffee mug is passive. It does not have behavior of its

own. However, the same cannot be said of my dog or a tree outside my window. My dog barks, the tree grows etc. So, some real life objects do have behavior. Object-Oriented Analysis and Design with the Unified Process 39 Figure 2-18 Attributes and Methods in Problem Domain Objects Object-Oriented Analysis and Design with the Unified Process

40 Understanding ObjectOriented Concepts (continued) Class: defines what all objects of class represent Objects are instances of a class Customer object is an instance of a customer class Objects interact through messages Objects retain memory of transactions Object-Oriented Analysis and Design with the Unified Process 41

Abstract and Concrete Classes Classes that can be instantiated into actual (real or virtual) objects are called concrete classes. Classes that cannot be instantiated into actual (real or virtual) objects are abstract classes. Object-Oriented Analysis and Design with the Unified Process 42 Abstract and Concrete Classes

Object-Oriented Analysis and Design with the Unified Process 43 Understanding ObjectOriented Concepts (continued Object-Oriented Analysis and Design with the Unified Process 44 INSTANCE OBJECT An object is an instance of a thing. It may be one of the many

instances of the same thing. My mug is an instance in the set of possible mug. An object is an instance of a class. Class A class is the descriptor for a set of objects with the same attributes and operations. Attribute An attribute is the type-value pair. Classes define attribute types. Objects contain attribute values. Operation An object contains data (attribute) and algorithms (operations) to act on these data. A procedure that implements the operation is

called a method. Object-Oriented Analysis and Design with the Unified Process 45 Figure 2-20 Order-processing system where objects interact by sending messages Object-Oriented Analysis and Design with the Unified Process 46

Understanding ObjectOriented Concepts (continued) Objects maintain association relationships Encapsulation: combining attributes and methods into one unit Information hiding: separating specification from implementation Inheritance: extending the characteristics of a class Polymorphism: ability for dissimilar objects to respond to the same message Object-Oriented Analysis and Design with the Unified Process

47 Encapsulation Encapsulation is the packaging of data and processes within one single unit. Object-Oriented Analysis and Design with the Unified Process 48

Association is one kind of relationship between classes. Provide a linkage between objects of given classes. Objects needing to communicate with each other can use the linkage. Inheritance A generalization relationship is a kind of relationship between a more generic class (superclass or parent) and a more specialized kind of that class (subclass or child) Object-Oriented Analysis and Design with the Unified Process

49 Information Hiding Information hiding conceals and protects what goes on inside an object from the outside world. When you use an ATM, encapsulation and information hiding ensure that: you are not burdened with the complexity of how the machine works, cannot perform operations that you are not allowed to, and

cannot change the way the machine operates. Object-Oriented Analysis and Design with the Unified Process 50 POLYMORPHISM Polymorphism is the ability of objects belonging to different classes to perform the same operation differently. Object-Oriented Analysis and Design with the Unified Process

51 Figure 2-22 Superclasses and Subclasses Object-Oriented Analysis and Design with the Unified Process 52 Tools to Support System Development CASE (Computer Aided System Engineering) Database repository for information system

Set of tools that help analysts complete activities Sample artifacts: models, automatically generated code Variations on CASE Visual modeling tools Integrated application development tools Round-trip engineering tools Object-Oriented Analysis and Design with the Unified Process 53 Figure 2-24

A Case Tool Repository Contains All Information About the System Object-Oriented Analysis and Design with the Unified Process 54 Tools to Support System Development (continued) Microsoft Visio: emphasizes technical drawing Rational Rose CASE tool supporting object-oriented approach Strongly identified with UP methodology

Together Pioneers round-trip engineering synchronizes graphical models with generated program code Leverages UML diagrams Object-Oriented Analysis and Design with the Unified Process 55 Figure 2-26 Visual Modeling Tool Rational Rose Displaying UML Diagrams

Object-Oriented Analysis and Design with the Unified Process 56 Tools to Support System Development (continued) Embarcadero Describe Visual Modeling Round-trip engineering Rational XDE Professional Integrates Microsoft Visual Studio.NET IDE

Also provides visual modeling and round-trip Object-Oriented Analysis and Design with the Unified Process 57 Figure 2-29 Rational XDE Professional is integrated with Visual Studio .NET Object-Oriented Analysis and Design with the Unified Process 58

Summary SDLC: set of activities required to complete system development project Predictive SDLC: executes project in sequential phases (waterfall approach) Adaptive SDLC: accommodates change and phase overlap Spiral SDLC model introduces iterations (cycles) UP is an adaptive system development methodology Object-Oriented Analysis and Design with the Unified Process 59

Summary (continued) UP life cycle includes four phases-inception, elaboration, construction, and transition UP phases decomposed into one ore more iterations Iterations involve work in nine UP disciplines UP is object-oriented Object-oriented concepts: object, class, methods, encapsulation, associations, inheritance, polymorphism CASE: automation tools simplify development tasks Object-Oriented Analysis and Design with the Unified Process

60

Recently Viewed Presentations

  • CAFOD PowerPoint

    CAFOD PowerPoint

    Nelson Mandela CAFOD hero Nelson Mandela was President of South Africa from 1994 to 1999. He was the first black president to be democratically elected by a fair vote in South Africa. But his journey was hard. Active campaigning to...
  • Energy Efficiency - University of Pittsburgh

    Energy Efficiency - University of Pittsburgh

    beyond repair. On September 25, 2002, the committee publicly released its report. The report contained details of . 24 allegations of misconduct. They found evidence of Schön's scientific misconduct in at least 16 of them. They found that whole data...
  • 2013 Outlook - CompTIA

    2013 Outlook - CompTIA

    Use a good quality connection. Use a wired Internet connection, rather than wireless. Close any applications you do not need on your computer. Use a PC headset if you have one. Poor connection? Use telephone options instead.
  • A Systemic View of Organizational Change and the

    A Systemic View of Organizational Change and the

    (Micro) Recognizing the success of others. Praise, encourage and express approval . Involve others. Coaching. Provide feedback and support. Pass along relevant information. Illustrate what success looks like. Highlight the importance of the work of others
  • 543: Supervisor Training Series Module 4: Managing Diversity

    543: Supervisor Training Series Module 4: Managing Diversity

    Protects job applicants or employees, based on their race, color, religion, sex, national origin, age, disability or veteran status related to any manner that would deprive them of employment or adversely affect their status as employees. In 1998, Executive Order...
  • Chapter Nine - Millersville University

    Chapter Nine - Millersville University

    Washoe the chimp and Koko the gorilla were both taught to use ASL. ... The result is the recovery of sentence structure. Semantic Analysis. ... The five types of speech (Searle, 1979): Assertives. Assertion of a belief. Directives. Instructions.
  • Nincs diacím - Az atomoktól a csillagokig

    Nincs diacím - Az atomoktól a csillagokig

    A társadalmi össznyeremény minimális Végtelen hatótáv, véletlen partnerek Változó szomszédszám hatása Santos et al., PRL (2005) a valósághű társadalmi kapcsolatrendszerekben z helyről helyre változhat skálamentes hálózat [f(z)~z -3] (e.g., BA and DMS models) Ha stratégia-átvétel valószínűsége a teljes nyeremény ...
  • Introduction to Design Briefs - Lancaster High School

    Introduction to Design Briefs - Lancaster High School

    Forging new generations of engineers Introduction to Design Briefs At the conclusion of this lesson, you will be able to… explain what a design brief is and why it is used in the design process. identify the different parts of...