BIS09 Application Development - III
-
Upload
prithwis-mukerjee -
Category
Education
-
view
1.312 -
download
1
Transcript of BIS09 Application Development - III
Kollaborative Klassroom Template
Business Information Systems
Application Development III
The Unified Process
Prithwis Mukerjee, Ph.D.
Incremental Model
Non-incremental, e.g. Waterfall, rapid prototyping models
Operational quality complete product at end
Incremental model
Operational quality portion of product within weeks
Each release adds more functionality, i.e., a new increment
DesignCodingTestDeploymentDesignCodingTestDeploymentDesignCodingTestDeploymentRequirements
Release 1Release 2Release 3
Evolutionary Model
Advantages
Constant customer involvement and validation
Allows for good risk management
Disadvantages
Build-and-fix danger
Contradiction in terms
New versions implement new and evolving requirements
DesignCodingTestDeploymentRequirementsDesignCodingTestDeploymentRequirementsDesignCodingTestDeploymentRequirements
FeedbackVersion 1Version 1Version 1
Spiral model
Radial dimension: cumulative cost to date
Angular dimension: progress through the spiral
If all risks cannot be resolved, the project is immediately terminated
What is a process ?
A series of steps that specify the way
Clients
Analysts
Designers
Programmers
Would work together to create a new system
A process defines Who is doing What, When and How to reach a certain goal.
In software engineering the goal is to build a software product or to enhance an existing one
Various Processes exist
SDLC Process / Waterfall Method
Unified Process / Unified Modeling Language
The Unified Process
Unified Process (UP) is a methodology proposed by three amigos: Booch, Jacobson, Rumbaugh
They are also the co-developers of the Unified Modeling Language (UML). They formed a company called Rational which was bought over by IBM
Non Commercial and Free piece of knowledge
Rational Unified Process
The proprietory process, based on the Unified Process, along with a suite of tools that allow one to use the process effectively
Commercial Product
What is UML
Is a language.
It is not simply a notation for drawing diagrams, but a complete language for capturing knowledge(semantics) about a subject and expressing knowledge(syntax) regarding the subject for the purpose of communication.
Applies to modeling and systems.
Modeling involves a focus on understanding a subject (system) and capturing and being able to communicated in this knowledge.
It is the result of unifying the information systems and technology industrys best engineering practices (principals, techniques, methods and tools).
UML Consists of a set of Artefacts
Unified Process : 4 Phases
Inception
Business case
Scope
Vague estimates
Continue or stop?
Elaboration
Identification of most requirements
Iterative implementation of the core architecture
resolution of high risks
InceptionElaborationConstructionTransition
timeConstruction
Iterative implementation of lower risk elements
Preparation for deployment
Transition
Beta tests
Deployment
Iterative and Incremental Development
development is organized into a series of iterations
short fixed-length mini-projects (2 to 6 weeks)
timeboxed (i.e. fixed length iterations)
shift tasks to future iterations if necessary ...
an iteration represents a complete development cycle
incl. requirements,
the outcome of each iteration:
a tested, integrated and executable system
PreliminaryIteration
Iter. #1Iter. #2
InceptionElaborationConstructionTransition
Milestone
Release
Final productionrelease
1. Inception Phase
Obtain buy-in from all interested parties
Capture initial requirements
Analyse Cost and Benefits
Analyse Initial Risks
Define Scope of Project
Define candidate architecture
Language ? RDBMS ? Tiers ?
Develop a disposable prototype
Look and Feel of the application
2. Elaboration Phase
Define System Requirements
Develop USE CASE MODELS
Actors
USE CASE
Scenarios
Use Case Diagrams
Use Case Descriptions
Develop Class diagrams
Define Glossary of terms
Refine Risk Assesment
Revised Architecture Document
3. Construction Phase
From paper documents to computer programs
Cumulative increase in functionality
Increasing depth of implementation
Stubs fleshed out
Implementation of bells and whistles
Increasing severity of testing
More and more complex test cases
implement all details, not only those of central architectural value
Analysis continues, but design and coding predominate
4. Transition Phase
Transfer of the system to the user community
Includes manufacturing, shipping, installation, training, technical support and maintenance
Development team begins to shrink
Control is moved to maintenance team
Alpha, Beta, and final releases
Software updates
Integration with existing systems (legacy, existing versions, etc.)
Unified Process Disciplines
ManagementEnvironmentBusiness
ModelingImplementationTestDesignPreliminary
Iteration(s) Iter.
#1
PhasesProcess DisciplinesIterations
Iter.
#2 Iter.
#n Iter.
#n+1 Iter.
#n+2 Iter.
#m Iter.
#m+1Deployment
Configuration MgmtRequirements
ElaborationTransitionInceptionConstruction
Supporting Disciplines
Use Case Model : Actors
Actors will interact with the system
Input Information
Request Information
Who could be
Distinct individuals
Same individual with multiple roles
Other computer systems
Product Manager
Salesman
ProductionPlanning System
FinancialSystem
Use Case Models
Define the tasks that the Actors will pursue
for example
Define a Product
Define a new Customer
Create an Order
List of all Outstanding Orders
List of all fulfilled Orders
Create USE CASE diagram
UML syntax
Stick figures - actors
Ovals use cases
System boundary
No control on anything outside the system
Product Manager
Salesman
Define Customer
Define Product
Create Order
DisplayOutstandingOrders
Update Order
Use Case Diagrams
Use Case Diagrams describe the functionality of a system and users of the system. These diagrams contain the following elements:
Actors, which represent users of a system, including human users and other systems.
Use Cases, which represent functionality or services provided by a system to users.
Scenarios
A USE CASE could consist of a number of scenarios
A USE CASE specifies a goal
Create ORDER, Create Customer
A SCENARIO represents a particular outcome when attempting to reach the goal.
Create Order
Old customer, good credit rating
New customer, no credit rating
Old customer, bad credit rating
The action to be followed in each case will be different
In a formal development process, each scenario would have its own documentation describing in detail all the events in the scenario
Use Case Descriptions
Detailed Description of what the USE CASE means
The USE CASE diagram gives the big picture but does not provide detailed description of what is happening
Various formats are possible
Paragraph of text
Two Column approach
First column : Actor action
Second column : System action
More complexity
Pre-condition
Post-condition
Sequence of steps
Activity Diagram or Flowchart
Sequence Diagram
Activity Diagram
DisplayOrder EntryScreenDoesCustomer exist ?Order valuewithincredit ?
Define Customer
Add Order RecordDisplayError Message
NO
NO
From Use Cases to Classes
Nouns in the Use Cases are candidates for
Classes
Order, Customer
Attributes
Order number, customer id
Verbs in the Use Cases are candidates for
Methods
Identification of Classes, Attributes, Methods is an iterative process
Class Diagram is the connection between
Object Oriented Programming techniques of the Unified Process and
Data Modelling techniques that result in Entities and Attributes in Third Normal form
Class Diagrams
ORDER
CUSTOMER
ORDER ITEM
PRODUCT
N1Receive, Update, Bill
Create, Deliver
Create, Update, CreditCheck, ...
Create, SetPrice
N1
N1
Mandatory, Must Have
Optional, May Have
Class Diagrams
Class Diagrams describe the static structure of a system, or how it is structured rather than how it behaves. These diagrams contain the following elements.
Classes, which represent entities with common characteristics or features. These features include attributes, operations and associations.
Associations, which represent relationships that relate two or more other classes where the relationships have common characteristics or features. These attributes and operations.
Sequence Diagram
Salesman
:MainScreen
: OrderEntry Screen
: OrderItem Screen
Order
Order-Item
New
New
Get Data
New
: OrderItem Screen
New
Get Data
New
X
New
Start
Challenge
ID/PW
X
Sequence Diagrams
Sequence Diagrams describe interactions among classes. These diagrams focus on classes and the messages they exchange to accomplish some desired behavior. Sequence diagrams contain the following elements:
Class roles, which represent roles that objects may play within the interaction.
Lifelines, which represent the existence of an object over a period of time.
Activations, which represent the time during which an object is performing an operation.
Messages, which represent communication between objects.
UML Diagrams Are Key System Artifacts
Actor A
Use Case 1
Use Case 2
Actor B
Document
FileManager
GraphicFile
File
Repository
DocumentList
FileList
Customer
nameaddrwithdraw()fetch()send()receive()
Forward Engineering(Code Generation)and Reverse Engineering
Executable System
User InterfaceDefinitionDomain Expert
Use Case 3
Source Code edit, compile, debug, link
Use-Case DiagramClass DiagramCollaboration DiagramSequence
DiagramComponent
DiagramState DiagramPackage
DiagramDeployment
DiagramClassThe UML provides a single, common modeling language
that is useable across many methods, across the entire lifecycle,
and across many different implementation technologies. It maps the
artifacts between business engineering, requirements capture and
analysis, design, implementation, and test. It defines an
expressive and consistent notation that can point out omissions and
inconsistencies. It scales to support very small to very large
systems development. If facilitates effective communications with
all members of the development team.
We are beginning the transition from the UML to the RUP. The students are not expected to be able to read this slide. The point is just to summarize all of the UML diagrams used for visual modeling. You might point out that learning the UML and all of its diagrams is not enough for a developer to be successful. It is similar to learning a natural language like English by reading the dictionary. You might know all the words and even the syntax, but you wouldnt be able to effectively communicate. So the UML is a crucial first step as it gives us a common language with which to communicate. But a process is needed to understand how to apply the UML to ensure successful development efforts. Thats why we developed the RUP. Activity diagrams are not shown on the slide. Activity diagrams can be used to model workflows in business process engineering.
Benefits of a Use-Case Driven Process
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
The important point to get across is that use cases permeate all parts of RUP and are a key mechanism in accomplishing the Managing Requirements best practice.
Summary: Unified Process
The Unified Modeling Language (UML) is a language for specifying, visualizing, constructing, and documenting the artifacts of a software-intensive system
A software development process defines Who is doing What, When and How in building a software product
The Rational Unified Process has four phases: Inception, Elaboration, Construction and Transition
Each phase ends at a major milestone and contains one or more iterations
An iteration is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an executable release
Rational Unified Process is a commercial version of this methodology developed by IBM / Rational
Click to edit the title text format
Click to edit the outline text format
Second Outline Level
Third Outline Level
Fourth Outline Level
Fifth Outline Level
Sixth Outline Level
Seventh Outline Level
Eighth Outline Level
Ninth Outline Level
Prithwis Mukerjee
Click to edit the outline text format
Second Outline Level
Third Outline Level
Fourth Outline Level
Fifth Outline Level
Sixth Outline Level
Seventh Outline Level
Eighth Outline Level
Ninth Outline Level
Order ID
Item ID
Product ID
Item quantity
Item Deliver Date
???Page ??? (???)02/02/2008, 11:34:44Page / Product ID
Product Desc
Product unit price
???Page ??? (???)02/02/2008, 11:34:44Page / Customer ID
Customer Name
Customer Address
Customer Credit Limit
???Page ??? (???)02/02/2008, 11:43:51Page / Order ID
Order Date
Customer ID
Order Value
???Page ??? (???)02/02/2008, 11:43:51Page /