Advanced Information Systems
Analysis and Design
Class 6: Introduction to ICASE with ArgoUML
Azeem Syed
Alan R. Hevner
University of South Florida
September 27, 2018 Copyright © 2018 Alan Hevner 1
Class 6 Outline
Introduction to ICASE
ICASE tools
UML tools
Introduction to ArgoUML
UML Diagrams
Tutorial
Assignment
September 27, 2018 Copyright © 2018 Alan Hevner 2
Integrated Computer Aided Software
Engineering (ICASE)
Computer aided methodologies used to control and
organize the software development especially for complex
project involving large number of people and software
components.
Automate methods for designing, documenting, and producing
structured computer code in the desired programming language.
Assist software engineering managers and practitioners in every
stage of software development.
Decrease the development time and increase the quality of
software activity associated with the software process
September 27, 2018 Copyright © 2018 Alan Hevner 3
ICASE tools
Automates the activities involved in the various stages of
development.
Example: After the functional requirements are finalized,
the prototyping tools can be used to generate graphical
interfaces so the end user can visualize how the system
will look after development.
September 27, 2018 Copyright © 2018 Alan Hevner 4
ICASE TASK SUPPORT
ICASE tools supports specific tasks in the SDLC. They can be divided
into the following categories:
Business and Analysis modeling - Graphical modeling tools. E.g.,
E/R modeling, object modeling, etc. Eg. ArgoUML
Development - Design and construction phases of the life-cycle.
Debugging environments. E.g., GNU Debugger.
Verification and validation - Analyze code and specifications for
correctness, performance, etc.
Configuration management - Control the check-in and check-out of
repository objects and files. E.g., SCCS, CMS.
Metrics and measurement - Analyze code for complexity, modularity
(e.g., no "go to's"), performance, etc.
Project management. Manage project plans, task assignments,
scheduling. Eg. xPlanner
September 27, 2018 Copyright © 2018 Alan Hevner 5
UML Tools
The Unified Modeling Language (UML) is a modeling
language, which involves data modeling, business
modeling, object modeling, and component modeling. UML
provides standardized graphical notation techniques to
develop designs for different software systems.
Example: Rational Rose, StarUML, Acceleo, ArgoUml
September 27, 2018 Copyright © 2018 Alan Hevner 6
UML Diagrams Overview
Source: Wikipedia
September 27, 2018 Copyright © 2018 Alan Hevner 7
ArgoUML
Open Source Tool
Used in analysis and design of object-oriented software
systems
Platform independent
Based on UML 1.4 specifications
Uses the open file formats XMI for model information
and PGML for graph information for storage.
September 27, 2018 Copyright © 2018 Alan Hevner 8
ArgoUML Project Structures
Project
Model Diagram
Model Model
Element - 1 Element - 2
September 27, 2018 Copyright © 2018 Alan Hevner 9
Overview
Top – Left Top – Right
(Tree Model) (Diagram)
ArgoUML
Bottom – Left Bottom – Right
(To Do List) (Details)
September 27, 2018 Copyright © 2018 Alan Hevner 10
September 27, 2018 Copyright © 2018 Alan Hevner 11
Overview
September 27, 2018 Copyright © 2018 Alan Hevner 12
Components
Use Case Diagram
Class Diagram
State Chart Diagram
Sequence Diagram
Collaboration Diagram
Activity Diagram
Deployment Diagram
September 27, 2018 Copyright © 2018 Alan Hevner 13
Use Case Diagram
Graphical overview of the functionality provided by the
system
Actor
Entity that interacts with the system
Can be human users, external hardware, or other subject
Use Case
Action performed by the system
Associations
Indicates the actor carries out a use case.
Include Relationship
The base use case is dependent on the included use case
Exclude Relationship
The extending use case is dependent on the base use case
September 27, 2018 Copyright © 2018 Alan Hevner 14
Use Case Diagram
Determine new requirements
Communication amongst stakeholders
Generate test cases
September 27, 2018 Copyright © 2018 Alan Hevner 15
Use Case Diagram
September 27, 2018 Copyright © 2018 Alan Hevner 16
Class Diagram
Static diagram that describes the structure of the system
Class
Name
Attributes
Functions/Operations
Relationship
Generalization
Realization
September 27, 2018 Copyright © 2018 Alan Hevner 17
Generalization
One class (sub class) is a specialized form of other class
(super class)
Also known as ‘is a’ relationship or ‘inheritance’
E.g. Corporate Customer is a customer
September 27, 2018 Copyright © 2018 Alan Hevner 18
Generalization
September 27, 2018 Copyright © 2018 Alan Hevner 19
Realization
Relationship between two model elements
One model element (client) realizes (implements or
executes) the behavior that the other model element
(supplier) specifies
September 27, 2018 Copyright © 2018 Alan Hevner 20
Realization
September 27, 2018 Copyright © 2018 Alan Hevner 21
State Chart Diagram
Models the changing behavior of a state
Events and various states of the object
September 27, 2018 Copyright © 2018 Alan Hevner 22
State Chart Diagram
September 27, 2018 Copyright © 2018 Alan Hevner 23
State Chart Diagram
Start: each state chart diagram has one start (above) at which the
sequence of actions begins.
End: each state chart diagram has one finish at which the
sequence of actions ends.
Activity: activities are connected together by
transitions. Transitions are directed arrows flowing from the
previous activity to the next activity.
The merge is used to end the conditional behavior. There can be
any number of incoming, and only one outgoing transition.
September 27, 2018 Copyright © 2018 Alan Hevner 24
Sequence Diagram
Interaction between objects in a sequential manner.
Used for transitioning the requirements expressed as
use cases to the next and more formal level of
refinement
Focuses on the temporal aspects.
Describes the interaction between the objects on a
vertical timeline.
September 27, 2018 Copyright © 2018 Alan Hevner 25
Collaboration Diagram
Collaboration diagrams represent a combination of
information taken from class, sequence, and use case
diagrams describing both the static structure and
dynamic behavior of a system.
Focuses on the communications that happens between
objects, by defining messages that flow between each
other.
September 27, 2018 Copyright © 2018 Alan Hevner 26
Deployment Diagram
Models the physical components of the system.
Models the hardware configurations along with the
software components to be deployed on them.
September 27, 2018 Copyright © 2018 Alan Hevner 27
Major ICASE Risk Factors
Inadequate standardization
Unrealistic expectations
Inadequate training
Inadequate process control
September 27, 2018 Copyright © 2018 Alan Hevner 28
Contribution
Being an Open Source Development project
you are invited to contribute.
Developer Wiki
http://argouml.stage.tigris.org/wiki
Report Bug
http://argouml.tigris.org/issues/enter_bug.cgi?issue_type=DEFECT&
component=argouml
Request a feature
http://argouml.tigris.org/issues/enter_bug.cgi?issue_type=ENHANCEMENT&compone
nt=argouml
Or
https://sourceforge.net/p/argouml/feature-requests/
September 27, 2018 Copyright © 2018 Alan Hevner 29
Class 6 Discussion Questions
1. What automated tools have you used on a
software development project? Were they
effective?
2. Discuss your tutorial experience with
ARGO UML.
September 27, 2018 Copyright © 2018 Alan Hevner 30