Lecture 3: Information Engineering Dr. Taysir Hassan Abdel Hamid November 3, 2014.

Slides:



Advertisements
Similar presentations
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
1 Lecture 2: Processes, Requirements, and Use Cases.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Chapter 7 Other Requirements Good Fast Cheap Pick any two. 1CS John Cole.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
ATM User Interface Design. Requirements A bank customer is able to access his or her account using an automatic teller machine. To be able to use an ATM.
Rational Unified Process
COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Requirements Specification
Understanding Requirements
Introduction to Software Engineering Dr. Basem Alkazemi
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.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Iterative development and The Unified process
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Slide 1 Requirements Workflow. Slide 2 The Phases/Workflows of the Unified Process Figure 3.1 l Phase is Business context of a step Workflow is Technical.
The Software Development Life Cycle: An Overview
RUP Requirements RUP Artifacts and Deliverables
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Rational Unified Process (Part 1) CS3300 Fall 2015.
1 IBM Software Group ® Mastering Requirements Management with Use Cases Module 4: Analyze the Problem.
Business Requirements Using Unified Modeling Language Eric H. Castain, SVP Internet Services Group, Architecture Wells Fargo March 2005.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Case Study :. Introduction The ATM network will consist of a large number of ATM machines distributed over a wide geographical area. The network must.
Developing Use Cases in a Group Carolyn L. Cukierman Face-to-Face Technology Conference March 27, 2000.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Faculty of Computer & Information Software Engineering Third year
Chapter 6 A Use-Case-Driven Process. 2 Definitions The choice of models and the choice of techniques used to express them have a significant impact on.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Chapter 7 Applying UML and Patterns -Craig Larman
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Approaching a Problem Where do we start? How do we proceed?
Chapter 7 Applying UML and Patterns Craig Larman
 Development is organized in a series of short, fixed-length mini-projects called iterations  Iterations are also incremental  Successive enlargement.
Faculty of Computer & Information
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Requirements Management with Use Cases Module 9: Requirements Across The Product Lifecycle Requirements Management with Use Cases Module 9: Requirements.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Lecture 3: Methods for Architecture Development Information Engineering Dr. Taysir Hassan October 19, 2015.
Inception is not Requirement phasee Chapter 3 and 4 Applying UML and Patterns -Craig Larman.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
Rational Unified Process (RUP)
UML (Unified Modeling Language)
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
UML - Development Process 1 Software Development Process Using UML.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
Elaboration popo.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Case Model.
Other System Requirements
Presentation transcript:

Lecture 3: Information Engineering Dr. Taysir Hassan Abdel Hamid November 3, 2014

Outline More on RUP (from last lecture) Examples on UML Diagrams

From Previous Lecture RUP

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 …..

Inception Artifacts generated during Inception Artifact Comment Iteration Plan Describe what to do in the first Elaboration Iteration Vision and Business Case Describes the high-level goals and constraints and provides an executive summary Use-Case Model Describes 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

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.

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.

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.

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.

ATM Vision (cont.) Customer System Administrators ATM Network Member Bank Customer Accounts Use services Actors Consortium Computer System Note! External agents may also be other, in-place Systems

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.

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

“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.

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.

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

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 Bank Useful 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

Supplementary Specifications The 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 Document Human 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.

The Home Appliance Example

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

Iteration Plan (cont.) Preliminary User Manual Developed Describe the appearance of the screen and the sequence of actions that the user must perform

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

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.

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).

27 RUP Overview Management Environment Business Modeling Implementation Test Architecture & Design Preliminary Iteration(s) Iter. #1 Phases Process Workflows Iterations Supporting Workflows Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration Mgmt Requirements ElaborationTransitionInceptionConstruction Workflows group activities logically In an iteration, you walk through all workflows

8. Size and Performance The system must enable 200 students at the same time The client should use 1GB

9. Quality The system should be compatible with windows xp/7/8 The system shall be available 24 hours by 7 days

Examples of Activity Diagrams (1. Online Shopping) Online customer can browse or search items, view specific item, add it to shopping cart, view and update shopping cart, checkout. User can view shopping cart at any time. Checkout is assumed to include user registration and login.

Examples of Activity Diagrams (2. Document Management Process) A document goes through different state or stages - it is created, reviewed, updated, approved, and at some point archived. Different roles participating in this process are Author, Reviewer, Approver, and Owner. These roles are represented on the diagram by partitions rendered as horizontal "swimlanes".statepartitions

2. Document Management Process