fit2005 lecture1 main big

Upload: james-aliyu

Post on 04-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Fit2005 Lecture1 Main Big

    1/58

    www.monash.edu.au

    FIT2005 System Analysis, Design & Architecture

    Module 1:

    Introducing UML and UP

  • 7/31/2019 Fit2005 Lecture1 Main Big

    2/58

    2

    COMMONWEALTH OF AUSTRALIA

    Copyright Regulations 1969

    WARNING

    This material has been reproduced and communicated to

    you by or on behalf of Monash University pursuant to PartVB of the Copyright Act 1968(the Act).

    The material in this communication may be subject to

    copyright under the Act. Any further reproduction orcommunication of this material by you may be the subject ofcopyright protection under the Act.

    Do not remove this notice.

  • 7/31/2019 Fit2005 Lecture1 Main Big

    3/58

    3

    Module 1 Objectives

    On completion of this session you should have a basic conceptualunderstanding of:

    The structure of the Unified Modelling Language.

    UMLs building blocks as being composed of things, relationships,and diagrams;

    UMLs four common mechanism: specifications, adornments,

    common divisions and extensibility mechanisms; Five ways by which to look at the architecture of a system: logical,

    process, implementation, deployment and use case views.

    The axioms of the Unified Process

    The five core workflows of the Unified Process: requirements,analysis, design, implementation, and testing.

    The four phases of the Unified Process: inception, elaboration,construction, transition.

  • 7/31/2019 Fit2005 Lecture1 Main Big

    4/58

    4

    Module 1 Objectives (continued)

    On completion of this module you should be able to:

    Explain the role of using a visual language in systems

    development

    Explain the role of a software engineering process insystems development;

    Describe the relative emphasis of certain workflows indifferent phases of the unified process;

    Describe the goals of each phase of the Unified Process;

    Describe the focus of each phase of the Unified Process;

    List conditions of satisfaction of each phase of the UnifiedProcess.

    Describe the activities involved in each Workflow of UP.

  • 7/31/2019 Fit2005 Lecture1 Main Big

    5/58

    5

    Revision of Concepts (from FIT2001)

    (Raw) Data unprocessed facts

    Information the outcome of organising raw data intomeaningful contexts

    Knowledge Information that is integrated into complexstructures

    System a complex interacting set of elements, forwhich it is possible to identify a boundary, an

    environment, inputs, outputs, a control mechanism and

    some process of transformation that the system achieves(Bennet 2002)

  • 7/31/2019 Fit2005 Lecture1 Main Big

    6/58

    6

    Terminology

    Information SystemA System which assembles,stores, processes and delivers information relevant to an

    organisation (or to society), in such a way that theinformation is accessible and useful to those who wish touse it, including managers, staff, clients and citizens. Aninformation system is a human activity (social) systemwhich may or may not involve the use of computersystems.(British Computer Society)

    In this unit, we assume the use of computer systems.Also we will deal with software systems in general(not only information systems)

  • 7/31/2019 Fit2005 Lecture1 Main Big

    7/58

  • 7/31/2019 Fit2005 Lecture1 Main Big

    8/58

    8

    Who uses software systems

    Organisation a formal collection of people and otherresources established to accomplish a set of goals

    (Satir 2003) for profit or not-for-profit.

    Some software systems intended for Private Persons

  • 7/31/2019 Fit2005 Lecture1 Main Big

    9/58

    9

    When is a software system acquired?

    Three key reasons (Oz 2004):

    An opportunity

    A current problem

    A directive

    it is the responsibility of the information systems manageror chief information officer (CIO) within the organisation to

    decide whether a new software system is needed.

  • 7/31/2019 Fit2005 Lecture1 Main Big

    10/58

    10

    Where do software systems come from?

    Pre-packaged software a product which can bebought and used straight away (without modifications)

    Systems Development a new software product isdeveloped from scratch or by integrating pre-builtcomponents

  • 7/31/2019 Fit2005 Lecture1 Main Big

    11/58

    11

    Who creates new software systems?

    In-house Development software developed by staffinside the organisation

    Outsourced Development software is developed byan external organisation

  • 7/31/2019 Fit2005 Lecture1 Main Big

    12/58

    12

    Roles

    Client The organisation/person requiring the system

    Vendor The organisation/person which provides thesystem

    A systems development organisation employs ITprofessionals with a range of skills and experience, who

    follow defined methodologies to produce software forclients:

    Analysts/Designers

    Programmers HCI-specialists

    Graphic Artists

    And other roles

  • 7/31/2019 Fit2005 Lecture1 Main Big

    13/58

    13

    Software Systems Development

    Two perspectives:

    The Product The system that is to be developed,the outcome of the process

    The Process the decisions and steps involved indeveloping the system

    A Quality Product is one which satisfies the clientsrequirements

    A Quality Process is a process which allows the productto be developed on time, within budget, and which is easyto work with, understand and maintain. (Burch 1992)

  • 7/31/2019 Fit2005 Lecture1 Main Big

    14/58

    14

    Unified Process and Unified Modeling Language

    The Unified Process (UP) is one process which anorganisation could choose to adopt as their methodology

    for software development.

    The Unified Modeling Language (UML) is a way to

    graphically present the design of a software systemsparts.

    UP uses UML As the way to document the work performed

  • 7/31/2019 Fit2005 Lecture1 Main Big

    15/58

    www.monash.edu.au

    FIT2005 System Analysis, Design & Architecture

    UML An Introduction

  • 7/31/2019 Fit2005 Lecture1 Main Big

    16/58

    16

    UML A Visual Language

    UML is a general purpose visual language

    UMLs purpose is to modelaspects of software systems

    All languages have common elements:

    Syntax rules for forming valid sentences, expressions of ideas. Semantics the meaning of the expressed idea

    Examples (using textual language: English)

    Cat mat sat the on

    The mat sat on the cat

    The cat sat on the mat

    Invalid Syntax

    Valid Syntax

    Valid Syntax

    Unclear semantics

    Clear semantics

    Unclear semantics

  • 7/31/2019 Fit2005 Lecture1 Main Big

    17/58

    17

    UML Structure

    UML consists of:

    Building blocks

    Common Mechanisms Architecture

    There are just 3 Building Blocks: Things the elements used to express ideas in models you make

    Relationships these tie the things together. Gives meanings tothings

    Diagrams present a facet of the model of the system

  • 7/31/2019 Fit2005 Lecture1 Main Big

    18/58

    18

    Model vs Diagrams

    Model the things and relationships

    Diagram presents a partial view of the model

    Some thing can be in the model but might not be in any diagram(particularly when using a tool to make models)

    Some thing in a diagram mustbe in the model!

    Some thing from the model may be presented from multiple,different perspectives in different diagrams

  • 7/31/2019 Fit2005 Lecture1 Main Big

    19/58

    19

    UML Structure (2)

    Types of things:

    Structural things nouns

    The subjects of the model, such as classes, use cases,collaborations

    Behavioral things verbs

    Interactions, activities, states

    Grouping things

    Mechanisms for grouping semantically related things as a unit

    Annotational things Mechanism for writing notes using plain natural language.

  • 7/31/2019 Fit2005 Lecture1 Main Big

    20/58

    20

    UML Structure (3)

    Relationships how two or more things relate to each other

    Association a relationship between peer elements

    Dependency one thing may be affected by changes tothe other

    Containment inverse of grouping Realization more complete manifestation of something.

    Others (See page 13 of Arlow)

  • 7/31/2019 Fit2005 Lecture1 Main Big

    21/58

    21

    UML Structure (4)

    Diagrams

    UML defines 13 different types of diagrams

    Class

    Component

    Deployment

    Object Package

    Sequence

    Communication

    We will learn the details of most of these through the unit

    Activity

    Use Case

    State Machine

    Timing Composite Structure

    Interaction Overview

  • 7/31/2019 Fit2005 Lecture1 Main Big

    22/58

    22

    UML Structure

    UML consists of:

    Building blocks

    Common Mechanisms Architecture

  • 7/31/2019 Fit2005 Lecture1 Main Big

    23/58

    23

    UML Structure (5)

    UML has 4 Common Mechanisms:

    Specifications

    textual descriptions of the features and semantics of modelelements

    The meat of the model: the semantic backplane

    Adornments Items of information which can be exposed on a model element

    Common Divisions

    Ways of thinking about the world Classifier/Instance

    Interface/Implementation

  • 7/31/2019 Fit2005 Lecture1 Main Big

    24/58

    24

    UML Structure (6)

    UML has 4 Common Mechanisms:

    Extensibility Mechanisms

    Constraints

    Specifies some condition or rule about the modeling element thatmust remain true.

    Represented as text inside braces, e.g. {unique}

    Stereotypes Allow you to invent new types of modeling elements based on

    existing elements YOU decide its semantics.

    Usually represented by a name/description inside guillemets,

    e.g. sql-query Tagged values

    Properties associated with model elements: name-value pair

    E.g. {language = Java} {author = Ken Smith}

  • 7/31/2019 Fit2005 Lecture1 Main Big

    25/58

    25

    UML Structure

    UML consists of:

    Building blocks

    Common Mechanisms Architecture

    Architecture refers to the (high-level) structure of thesystem

    What parts has it been decomposed into

    How the parts are connected

    How the parts interact

    What guiding principles inform the design of the system

  • 7/31/2019 Fit2005 Lecture1 Main Big

    26/58

    26

    The 4+1 View of Architecture

    One common way of viewing architecture is the 4 +1different views of the system

    Logical view system functionality and vocabulary

    Process view

    system performance, scalability and vocabulary

    Implementation view how system is assembled and configured

    Deployment view

    models the physical deployment of the system

    Use Case view (the +1)

    Captures the basic requirements for the system

    Provides the basis for construction of the other views

  • 7/31/2019 Fit2005 Lecture1 Main Big

    27/58

    www.monash.edu.au

    FIT2005 System Analysis, Design & Architecture

    The Unified Process

    An Overview

  • 7/31/2019 Fit2005 Lecture1 Main Big

    28/58

    28

    Software Engineering

    Software Engineering is the task of designing a softwaresystem

    Compare to other Engineering, e.g. Civil Engineering

    IEEE definition:

    The application of a systematic, disciplined, quantifiable

    approach to the development, operation, andmaintenance of software(IEEE Standard 610.12-1999)

    In order to perform the task, you need to follow some

    process

  • 7/31/2019 Fit2005 Lecture1 Main Big

    29/58

    29

    Unified Process

    The Unified Processis a software engineering process

    Originated with the inventors of UML

    A commercial version exists called Rational Unified Process

    The UP models the who, when and what of the systemdevelopment process

    Its main purpose is to provide guidanceabout how you wouldconceive of the process of software development

    Key elements:

    Workers

    Activities

    Artifacts

    Workflows

  • 7/31/2019 Fit2005 Lecture1 Main Big

    30/58

    30

    UP Axioms

    UP has three basic axioms

    Requirements and risk driven

    Architecture-centric

    Iterative and incremental

  • 7/31/2019 Fit2005 Lecture1 Main Big

    31/58

    31

    Iterative and Incremental

    Humans find problem solving better when the problemsare small

    Break a large problem into smaller problems and solveeach of the smaller problems

    Refine the solution to improve it.

    In UP, each iterationcontains all of the elements of asoftware development project following the moretraditional waterfall approach, i.e.: Planning

    Analysis and design Construction

    Integration and test

    Release

  • 7/31/2019 Fit2005 Lecture1 Main Big

    32/58

    32

    Iteration Workflows

    A workflowis a set of activities, performed by workers insome order, to use or produce artifacts or outcomes

    There are 5 core workflows in UP: Requirements

    Analysis

    Design

    Implementation Test

    Each iteration involves the 5 core workflows to someextent.

    Result of an iteration is called a baseline. The difference between it and the previous baseline is an

    increment.

  • 7/31/2019 Fit2005 Lecture1 Main Big

    33/58

    33

    The Structure of UP

    UP divides the software development life cycle into fourphases

    Each phase ends with a major milestone. Inception Life cycle objectives

    Elaboration Life Cycle Architecture

    Construction Initial Operational Capability Transition Product Release

    Each phase can have multiple iterations through the

    workflows

    The exact number of iterations can differ for each phaseand for different software development projects

  • 7/31/2019 Fit2005 Lecture1 Main Big

    34/58

    34

    Example Project Lifecycle using UP

    Shows the relative amount of effort spent in different workflows (down left side),at different phases of the project.

  • 7/31/2019 Fit2005 Lecture1 Main Big

    35/58

    35

    Workers, Activities, Artifacts

    A Worker is a person who for a period of time will havespecific responsibilities

    It is a role Person 1 could perform multiple roles at different times

    Multiple people could perform same role at different times

    AnActivity

    is a tangible unit of work performed by a

    worker

    An Artifact is a tangible piece of information that iscreated, changed and used by workers when performingactivities An artifact can be a model, a model elementor a document.

  • 7/31/2019 Fit2005 Lecture1 Main Big

    36/58

    36

    UP: Overview of Activities for Workers in each workflow

    Source: [Jacobson 1] Figure 12.3

  • 7/31/2019 Fit2005 Lecture1 Main Big

    37/58

    37

    Inception Phase

    Focus is on requirements and analysis workflows

    Goals are:

    Establish feasibility

    Create a business case to demonstrate project will deliverbusiness benefits

    Capture essential requirements

    Identify critical risks

    Milestone:

    Lifecycle objectives

    See textbook Table 2.1

    [Quantifiable]

    To help scope the system

  • 7/31/2019 Fit2005 Lecture1 Main Big

    38/58

    38

    Elaboration Phase

    The Focus in each workflow is as follows:

    Requirements refine the system scope and requirements

    Analysis Establish what to build Design create a stable architecture

    Implementation build the architectural baseline

    Test - test the architectural baseline

    Goals:

    Create an executable architectural baseline

    Refine the risk assessment

    Define quality attributes (non-functional requirements) Capture use case for ~80% of the functional requirements

    Milestone: Life Cycle Architecture

  • 7/31/2019 Fit2005 Lecture1 Main Big

    39/58

    39

    Construction Phase

    Focus: mainly implementation workflow

    Focus for each workflow:

    Requirements uncover any requirements that had been missed

    Analysis finish the analysis model

    Design finish the design model

    Implementation build the initial operational capability

    Test test the initial operational capability

    Goals

    To complete all requirements, analysis and design

    To evolve the architectural baseline (from Elaboration) into the finalsystem

    Milestone: Software system finished, ready for beta testing

  • 7/31/2019 Fit2005 Lecture1 Main Big

    40/58

    40

    Transition Phase

    Mainly implementation and test workflows

    Focus:

    Requirements not applicable Analysis not applicable

    Design modify the design if problems arise in beta testing

    Implementation tailor the software for the users site; correct

    problems uncovered in testing Test beta testing, acceptance testing (at user site)

    Goals: Correct defects

    Prepare user sites for the software; tailor software to operate atthe user site

    Conduct a post-project review

    Milestone: Product Release

    Th R i W kfl

  • 7/31/2019 Fit2005 Lecture1 Main Big

    41/58

    41

    The Requirements Workflow

    Purpose/Goals [Kruchten, ch 9]:

    To discover and reach agreement with customers and

    other stakeholders on what the system should do Eliciting and prioritizing requirements from stakeholders

    Process of negotiation: balancing conflicting interests/desires

    To provide system developers with better understandingof the system requirements

    To define the boundaries of the system

    To provide a basis for planning the technical content ofiterations

    To provide a basis for estimating cost/time to develop

    A ti iti f th R i t W kfl (1)

  • 7/31/2019 Fit2005 Lecture1 Main Big

    42/58

    42

    Activities of the Requirements Workflow (1)

    Source: Arlow

    A ti iti f th R i t W kfl (2)

  • 7/31/2019 Fit2005 Lecture1 Main Big

    43/58

    43

    Activities of the Requirements Workflow (2)

    R i t W kfl

  • 7/31/2019 Fit2005 Lecture1 Main Big

    44/58

    44

    Requirements Workflow

    Key Artifacts produced:

    Use Case Model (contains Use Cases, and Actors)

    Requirements List Glossary defines key terms for the project

    Analysis Workflow overview

  • 7/31/2019 Fit2005 Lecture1 Main Big

    45/58

    45

    Analysis Workflow - overview

    The aim of Analysis is to produce an analysis model

    Focuses on whatthe system needs to do

    2 main Artifactsproduced by Analysis: Analysis classes - model key concepts in the business domain.

    Use case realizations

    Key Activitiesperformed for Analysis Workflow: Architectural Analysis

    Analyse a use case

    Analyse a class

    Analyse a package

    Analysis Workflow Activities

  • 7/31/2019 Fit2005 Lecture1 Main Big

    46/58

    46

    Analysis Workflow - Activities

    Source: Jacobson

    Comparing Use Case and Analysis Models

  • 7/31/2019 Fit2005 Lecture1 Main Big

    47/58

    47

    Comparing Use Case and Analysis Models

    Use Case Model Analysis Model

    Described using the language ofthe customer/client organisation

    Described using the language of thedevelopers

    External view of the system Internal view of the system

    Structured by use cases;

    gives structure to the externalview

    Structured by stereotypical classes

    and packages; gives structure to theinternal view

    Used primarily as a contract

    between the customer and thedevelopers on what the systemshould and should not do

    Used primarily by developers to

    understand how the system shouldbe shaped, i.e. designed andimplemented

    Source: Jacobson: Table 8.1Continued

    Comparing Use Case and Analysis Models (2)

  • 7/31/2019 Fit2005 Lecture1 Main Big

    48/58

    48

    Comparing Use Case and Analysis Models (2)

    Use Case Model Analysis Model

    May contain redundancies,

    inconsistencies, etc. amongrequirements

    Should not contain redundancies,

    inconsistencies, etc. amongrequirements

    Captures the functionality of thesystem, including architecturally

    significant functionality

    Outlines how to realize thefunctionality within the system,

    including architecturally significantfunctionality; works as a first cut atdesign

    Defines use cases that are further

    analysed in the analysis model

    Defines use-case realizations, each

    one representing the analysis of ause case from the use-case model

    Source: Jacobson: Table 8.1

    Design Workflow Overview

  • 7/31/2019 Fit2005 Lecture1 Main Big

    49/58

    49

    Design Workflow - Overview

    The focus of work late in elaboration phase, and early inconstruction phase

    Aims to produce the design model Whereas Analysis focuses on whatthe system needs to do, the

    Design Model focuses on howthis functionality will beimplemented

    Key activities:

    Architectural Design

    Design a use case

    Design a class Design a subsystem

    Artifacts of Design Models

  • 7/31/2019 Fit2005 Lecture1 Main Big

    50/58

    50

    Artifacts of Design Models

    A Design Model consists of:

    Subsystems

    Design classes

    Interfaces

    Use Case Realisations Design Deployment Diagrams

    Architectural Description

    Often the analysis model evolves intothe design model

    Design Workflow - Activities

  • 7/31/2019 Fit2005 Lecture1 Main Big

    51/58

    51

    Design Workflow - Activities

    Source: Jacobson

    Comparing Analysis and Design models

  • 7/31/2019 Fit2005 Lecture1 Main Big

    52/58

    52

    Comparing Analysis and Design models

    Analysis Model Design Model

    Conceptual model, because itis an abstraction of the systemand avoids implementationissues

    Physical model, because it is ablueprint of the implementation

    Design-generic (applicable toseveral potential designs)

    Not generic, but specific for animplementation

    Three (conceptual) stereotypeson classes: control, entity,and boundary

    Any number of (physical)stereotypes on classes,depending on implementationlanguage

    Source: Jacobson: Table 9.1

    Comparing Analysis and Design models (2)

  • 7/31/2019 Fit2005 Lecture1 Main Big

    53/58

    53

    Comparing Analysis and Design models (2)

    Analysis Model Design Model

    Outlines the design of thesystem, including itsarchitecture

    Manifests the design of thesystem, including its architecture

    Defines a structure that is anessential input to shaping thesystem including creating thedesign model

    Shapes the system while tryingto preserve the structure definedby the analysis model as muchas possible.

    Source: Jacobson: Table 9.1

    Implementation Workflow - Overview

  • 7/31/2019 Fit2005 Lecture1 Main Big

    54/58

    54

    Implementation Workflow Overview

    The implementation workflow is the main focus of theconstruction phase

    The purposes of the implementation workflow include: Code the classes, components and subsystems, which comprise

    the software of the system.

    Along the way perform unit tests

    Distribute the system functionality by placing executablecomponents onto particular hardware devices.

    Implementation Workflow - Activities

  • 7/31/2019 Fit2005 Lecture1 Main Big

    55/58

    55

    Implementation Workflow Activities

    Source: Jacobson

    Test Workflow - Overview

  • 7/31/2019 Fit2005 Lecture1 Main Big

    56/58

    56

    Test Workflow Overview

    Testing involves verifying that the implementationmatches the requirements.

    The purposes of the test workflow include: Finding and documenting failures in the software product: e.g.

    defects and problems.

    Advising management on the perceived quality of the software

    Validating that the software works as designed, and that therequirements are implemented appropriately.

    Test Workflow - Activities

  • 7/31/2019 Fit2005 Lecture1 Main Big

    57/58

    57

    Homework

  • 7/31/2019 Fit2005 Lecture1 Main Big

    58/58

    58

    Work through Module 1 of the Study Guide

    Read relevant parts from Arlow Chapters 1 and 2

    and Kruchten (on the Librarys web site)

    Read through the assignment tasks and case study when

    they become available

    Beforethe next lecture session, read through Module 2 ofthe study guide, and the specified readings from Arlow

    and from Armour (on the Librarys web site)