Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October...

65
Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015

Transcript of Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October...

Page 1: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Lecture 3: Methods for Architecture Development

Information Engineering Dr. Taysir Hassan October 19, 2015

Page 2: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Methods for architecture development

• RUP – (Rational Unified Process)• EUP – (Enterprise Unified Process)

Page 3: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

3

Rational Unified Process – Main Characteristics

• Iterative and incremental• Use-case-driven• Architecture-centric• Uses UML as its modeling notation• Process framework

– Comprehensive set of document templates, process workflow templates, and process guidelines

Page 4: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

4

Rational Unified Process Is Use-Case-Driven

• Use cases are concise, simple, and understandable by a wide range of stakeholders– End users, developers and acquirers understand functional

requirements of the system• Use cases drive numerous activities in the process:

– Creation and validation of the design model– Definition of test cases and procedures of the test model– Planning of iterations– Creation of user documentation– System deployment

• Use cases help synchronize the content of different models

Page 5: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

5

Rational Unified Process Is Architecture-Centric

• Architecture is the focus of the elaboration phase– Building, validating, and base lining the architecture constitute the

primary objective of elaboration• The Architectural Prototype validates the architecture and

serves as the baseline for the rest of development• The Software Architecture Description is the primary artifact

that documents the architecture chosen• Other artifacts derive from architecture:

– Design guidelines including use of patterns and idioms– Product structure– Team structure

Page 6: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

RUP

• As it defines an iterative process, as opposed to the classical waterfall process, that realizes software by adding functionality to the architecture at each increment.

Page 7: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

RUP

Page 8: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 9: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

9

Inception Elaboration Construction Transition

Phase Boundaries Mark Major Milestones

Lifecycle Objective Milestone

Lifecycle Architecture

Milestone

Initial Operational Capability Milestone

Product Release

time

Page 10: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

10

Iterations and Phases

An iteration is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an executable release (internal or external)

PreliminaryIteration

Architect.Iteration

Architect.Iteration

Devel. Iteration

Devel. Iteration

Devel. Iteration

TransitionIteration

TransitionIteration

Inception Elaboration Construction Transition

Minor Milestones: Releases

Page 11: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 12: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

12

Major Workflows Produce Models

Analysis & Design

DesignModel

ImplementationModel

TestModel

realized by

implemented by

verified by

Requirements

Implementation

Test

Use-CaseModel

BusinessModeling

Business Model

supported by

Page 13: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Inception

What needs to be done?

•Describe the vision and business case for this project.

•Determine if the project is feasible.

•Determine if the enterprise should build or buy the necessary system.

•Make a rough estimate of the cost of the project.

•Determine if we should go ahead with the project.

If the answer is YES …..

Page 14: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

InceptionArtifacts generated during Inception

Artifact Comment

Iteration Plan Describe what to do in the first Elaboration Iteration

Vision and Business CaseDescribes the high-level goals and constraints and provides an executive summary

Use-Case ModelDescribes the functional requirements of high-level goals, and related non-functional requirements

Supplementary Spec. Describes other requirements

Glossary Begin keeping a dictionary of key domain terminology

Prototyes and proof-of-concepts

To clarify the vision and validate techincal ideas

Page 15: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Inception

ATM Example: (Partial) Vision

Version Date Description Author

Inception Draft Jan. 15, 2008 First draft to be refined primarily during Elaboration J. TenEyck

Introduction and Problem Statement

We envision a banking system that provides automatic teller machines (ATMs) at which customers holding a bank card can make deposits and withdrawls to and from their accounts. The ATM machines will belong to a consortium of banks participating in this project.

Page 16: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

ATM Vision (cont.)

Business Opportunity

ATM machines will be attractive to banking customers because they allow access to their accounts outside of regular business hours. They allow the bank to expand customer services and geographical reach without the cost of building additional branches or hiring additional tellers.

Product Position Statement

Here we state the outstanding or unique features of this system, who it is for and what additional potential customers it might attract, and what differentiates it from the competition.

Stakeholder Descriptions

Participating Banks – Want to make sure that access to their customer account information is safe and secure, transaction information is accurate and reliable, and that their own account card is readily recognizable at a large number of ATMs.

Bank Customers – Want easy, low-cost, remote access to their accounts, but want to be assured that their accounts are secure and not accessible to hackers or other third parties.

Page 17: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

ATM Vision (cont.)

High-level Goal

Fast, robust, and secure automated teller network.

Priority -- high

Problems and Concerns --

Client bank must be able to handle multiple simultaneous transactions (and possible simultaneous transactions to the same joint account).

Banks owning an ATM must be able to determine the cash on hand in the ATM. The cash in the ATM must be secure.

Consortium server must be able to identify the home bank of the customer card.

Page 18: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

ATM Vision (cont.)

User Goals

Customer – Make withdrawals, deposits, and balance checks to his/her account.

Home Bank – Provide secure access for customer to his/her account.

These indicate high-level use cases to be initiated during Inception

Product Overview

The ATM network will consist of a large number of ATM machines distributed over a wide geographical area. The network must be able to handle a growth in ATM terminals and an expanding geographical area. It will have to be able to readily form an interface with other ATM networks in other parts of the world.

The ATM network will provide services to users and collaborate with other banking networks as indicated in the diagram on the next slide.

Page 19: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

ATM Vision (cont.)

Customer

System Administrators

ATM Network

<actor>

Member Bank Customer Accounts

Use services

Use services

Use services

Actors

Consortium Computer System

Note! External agents may also be other, in-place Systems

Page 20: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

ATM Vision (cont.)

Summary of Benefits

Supporting Feature Stakeholder Benefit

Functionally, the system will provide teller services to bank customers

Automated, remote access to user accounts.

Real-time transactions with member bank systems using industry standard protocols

Timely account updates and transaction recording

Pluggable business rules at various scenario points during transaction processing

Flexible business logic configuration

This table relates the goals, benefits and solutions at a higher level not solely related to use cases.

Page 21: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

ATM Vision (cont.)

Summary of System Features

•Transaction capture

•Transaction authorization

•Security of transaction information

•Real-time transactions with other interconnected ATM networks

•Definition and execution of customized “pluggable” business rules at fixed common points in the processing scenarios

•Real-time interaction with member bank account processing systems

Other elements of the Vision Statement include:

Assumptions and Dependencies and/or Constraints

Cost and Pricing of the System under construction

Licensing and Installation of ATM terminals

Plans for allowing expansion of the network

Page 22: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

“The Vision Thing”

The Vision Document is a useful tool for management to make determination of whether to build, buy, redefine, or abort consideration of the system. It provides sufficient non-technical detail for evaluating the system under consideration.

The Vision Document is also useful to the Technical people for beginning the process of determining and describing the requirements of the system. It indicates the important high-level and stakeholder goals that need elaboration in the use cases.

Note that the class project is a system “taken out of any particular context”. The problem statement will serve instead of a vision document, and the remainder of the inception process will proceed from there.

Page 23: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

The Glossary

During Inception, the Glossary should be a simple listing of terms with brief descriptions or definitions. During Elaboration, the Glossary expands into the role of a Data Dictionary.

Term Definition and Information Aliases

ATM A banking terminal and required software for processing customer transactions

Automatic teller machine

It is important to start early in keeping a glossary of terms so that all members of the design team have the same concept of what each term means. In the example shown here, The term ATM refers to both the physical terminal and the supporting software that it contains.

Page 24: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

The Glossary

In subsequent elaborations the Glossary is refined to include

•Format (type, length, unit)

•Relationship to other terms (attributes, associations, methods)

•Range of values

•Validation rules

Page 25: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Use Cases

During Inception some of the most important stakeholder goals should be developed as use cases.

During Inception, it is not necessary, nor necessarily desirable, to generate a fully dressed use case, nor is it necessary to develop any but the most important of the stakeholder goals into use cases.

Essential Use Case Statements

Name

Primary Actor

Brief Narrative

Stakeholders and Interests

Preconditions

Post-conditions

ATM Withdrawal

Valid Member Bank Account Holder

Account Holder, Member BankUseful in determining the problem domain Concepts and providing guidelines for elaboration of success scenarios,

User must have a valid bank card, must indicate an amount < balance

User obtains proper cash, user account correctly debited, transaction recorded at bank

Page 26: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Supplementary SpecificationsThe difference between the component features of the supplementary specification and the Vision is that the Supplementary Specification contains information more particular to the technical specialists whereas the Vision is a broader document that is most useful for “management:.

Components of the Supplementary Specification DocumentHuman Factors

Reliability

Performance

Adaptability

Configurability

Implementation Constraints

Interfaces

Business Rules

Legal Issues

Each transaction should require less than 1 minute of customer’s time

The consortium computer must keep a transaction record for member banks to use for comparison

Projected growth rate of the ATM base and member banks. Will use an X.25 based intranet to connect ATMs and member banks with consortium computer

Recommend a Linux based consortium server and java as the programming language for ATM client code.

Text visible from at least 1 meter. Clear, step-by-step instructions for use.

Card reader in ATM. Touch screen monitor. Receipt printer.Fee structure charged by member banks.

Page 27: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Iteration Plan

Time frame for the iteration:

Start date: Jan. 15, 2008 End Date: Feb. 6, 2008

Deliverable Artifacts

Use cases: Access Account

Deposit

Withdraw

Balance Statement

Identify concepts within the ATM network to help develop an initial concept model diagram

Domain Model (Concept Model Diagram)

Software prototype A simulation demonstrating the user interaction with an ATM terminal

Test Plan

Use Case Diagrams Identify boundary between system and identified actors

Develop and Execute a Plan to ensure that the various user events do not cause the system to enter an error state or to hangup.

State Diagram Identify states and state transitions for each user initiated button event

Page 28: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Iteration Plan (cont.)

Preliminary User Manual Developed Describe the appearance of the screen and the sequence of actions that the user must perform

Page 29: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Elaboration (Definition)

• Elaboration is the initial series of iterations during which:

• the majority of requirements are discovered and stabilized

• the major risks are mitigated or retired• the core architectural elements are

implemented and proven

Page 30: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Construction

• The result of this phase is the full beta release of the system.

• It is usually the largest phase by some way. • This phase concentrates on the design and

implementation disciplines.

Page 31: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 32: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Transition

• The transition phase often begins with the release of the beta system. It focuses on the deployment of the beta system, monitoring user feedback and handling any modifications or updates required.

• This may involve further design and implementation (and potentially even new use cases etc., although this should be avoided at this late stage).

Page 33: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 34: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 35: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

35

RUP Overview

Management

Environment

Business Modeling

Implementation

Test

Architecture & Design

Preliminary Iteration(s)

Iter.#1

PhasesProcess Workflows

Iterations

Supporting Workflows

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Deployment

Configuration Mgmt

Requirements

Elaboration TransitionInception Construction

Workflows group

activities logically

In an iteration,you walk throughall workflows

Page 36: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 37: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Configuration Management

Configuration Management (CM) is a systems engineering process for establishing and maintaining consistency of a product's performance, functional and physical attributes with its requirements, design and operational information throughout its life.

Page 38: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Configuration Management (CM)

• CM is used by military engineering organizations to manage complex systems, such as weapon systems, vehicles, and information systems.

• Other systems such as industrial engineering segments as roads, bridges.

Page 39: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Software Deployment Software deployment is all of the

activities that make a software system available for use.

These activities can occur at the producer side or at the consumer side or both.

Examples of activities are install, activate, deactivate, uninstall, and update.

Page 40: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 41: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 42: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 43: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 44: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 45: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 46: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 47: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 48: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 49: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 50: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 51: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 52: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

8. Size and Performance

• The system must enable 200 students at the same time

• The client should use 1GB

Page 53: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

9. Quality

• The system should be compatible with windows xp/7/8

• The system shall be available 24 hours by 7 days

Page 54: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Extension of RUP

• An extension towards enterprise IT architecture is given in the form of the Enterprise Unified Process.

Page 55: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Enterprise Unified Process

• The Enterprise Unified Process (EUP)'s Portfolio Management discipline extends iterative/agile processes such as the Rational Unified Process and extreme programming to help improve the overall efficiency and the effectiveness of information technology (IT) projects within an organization by selecting and then managing viable software development projects.

Page 56: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 57: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 58: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 59: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 60: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 61: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 62: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 63: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 64: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Page 65: Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.

Thank You