Вы находитесь на странице: 1из 30

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

Вам также может понравиться