Software Engineering - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Software Engineering

Description:

Software Engineering. 1. Software Engineering. A quick overview ... How you solve problem and deliver a solution. How you represent the problem and the solution ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 31
Provided by: adolf72
Category:

less

Transcript and Presenter's Notes

Title: Software Engineering


1
Software Engineering
  • A quick overview of UML
  • Requirement Analysis
  • Use Cases and Use Case Diagrams

2
Software Engineering Overview of UML February, 21
3
UML What is it and what it is not
  • Software Engineering is about
  • Process
  • Notations/Languages
  • Tools

Waterfall,
How you solve problem and deliver a solution
Unified Modeling Language,
How you represent the problem and the solution
IBM Rational Software Architect,
How you write the problem and deliver the solution
4
Why UML (and the rest of the story)
  • Simple and intuitive
  • Support whole cycle
  • Widely used
  • Close to become a ISO standard

... and the rest of the story UML is not the
only specification language Examples DFD, SDL,
MSC, Statecharts, B, Z.
5
Why RSA (and the rest of the story)
  • Good Support of UML
  • More than a drawing program
  • Widely used
  • We are a IBM-Rational competence center

... and the rest of the story Rose is not the
only tool supporting UML Examples Enterprise
Architect, Telelogic Tau, Magic Draw UML, Argo
UML, Poseidon UML, Dia, Jude, Visual Paradigm,
Visio, Visual Studio, ...
6
UML Tools a link with some examples
  • http//www.jeckle.de/umltools.htm

7
UML Risk and Danger
  • Notations/Languages are not enough

not even for representing a problem and
its solution.
  • You need (at least)
  • to have a full comprehension of the problem and
    of the solution
  • to be able to communicate such knowledge to
    other people (diagrams, documents, informal
    descriptions)

8
History of UML
  • Tres Amigos Booch, Rumbaugh, Jacobson
  • OMG not for profit consortium, 800 members, that
    produces and maintains standards (e.g. Corba)
  • UML Resource Page http//www.uml.org/

1995
Unified
(Tres Amigos)
Method
1996
UML
(Workgroup)
0.9
UML
1997
1.0
(OMG)
UML
1998
1.1
UML
1.2
UML
1.3
UML
2003
1.4
UML
2004
2.0
9
UML Diagrams
  • Static
  • Package Diagram
  • Use case diagram
  • Class diagram and Object diagram
  • Component diagram
  • Deployment diagram
  • Dynamic
  • Interaction diagrams
  • Sequence diagram
  • Collaboration diagram
  • State diagram
  • Activity diagram

10
UML Diagrams Main Uses
  • Static
  • Package Diagram Help you organize your model
  • Use case diagram
  • Business Modeling Processes
  • Requirements Functional Requirements
  • Class diagram and Object diagram
  • Business Modeling Organization, Entities
  • Analysis And Design Logical Architecture

11
UML Diagrams Main Uses
  • Static
  • Component diagram
  • Design
  • Physical Architecture
  • DB Structure
  • Structuring in Files
  • Deployment diagram
  • Design Deployment of Executable in Complex
    Networks

12
UML Diagrams
  • Dynamic
  • Interaction diagrams
  • Business Modeling, Requirements Interaction
    User-system
  • Analysis And Design Interaction Among Elements
    of The System
  • State diagram
  • Analysis and Design Specification of the
    Behaviour of the System
  • Activity diagram
  • Business Modeling Workflow
  • Analysis and Design Specification of the
    Behaviour of the System

13
UML Diagrams
  • Static
  • Use case diagram
  • Class diagram and Object diagram
  • Component diagram
  • Deployment diagram
  • Dynamic
  • Interaction diagrams
  • Sequence diagram
  • Collaboration diagram
  • State diagram
  • Activity diagram

14
  • Software Engineering
  • Requirement Analysis
  • February, 21

15
Requirements Analysis
  • Standard approach
  • Use natural language specifications written with
    a Word Processor (e.g. MS Word)
  • Standard problems
  • Difficulties in understanding how the system
    works
  • Ambiguities/Incompleteness in the specifications
  • Requirements Management (impact of requirements,
    traceability, )

16
Requirements Analysis
  • Goal
  • Define the requirements of the product
  • Output
  • Requirements Document
  • (possibly containing various UML diagrams)
  • Main Diagram for Requirements Analysis
  • Use Case Diagrams

17
  • Software Engineering
  • Use Cases and Use Case Diagrams
  • February, 21

18
Use Cases and Use Case Diagrams
  • Use Case
  • Set of scenarios describing a coherent unit of
    functionality as seen by a user of the system.
  • Use Case Diagram
  • A graph collecting the use cases, the actors
    taking place in the use cases, and the
    relationship among use cases and actors.

19
Example Time Tracker
  • We have been contacted by a small firm. They
    want us to build a system for letting employees
    track how they spend their time when working on a
    computer. The idea is that of a stop-watch the
    users of the system can start and stop counting
    the time spent on different activities the
    system logs such activities and can be used to
    produce reports.

The system can also be integrated with a billing
system. The billing system receives all the
information about the time spent by programmers
on the different projects and computes the cost
of projects. This information is then used to
charge clients.
20
Step 1 Identify Actors
  • An actor is someone or some thing that must
    interact with the System Under Development

21
Step 1 Time Tracker
  • We have been contacted by a small software firm.
  • They want us to build a system for letting
    employees track how they spend their time when
    working on a computer. The idea is that of a
    stop-watch the users of the system can start and
    stop counting the time spent on different
    activities the system logs such activities and
    can be used to produce reports by an
    administrator.
  • The system can also be integrated with a billing
    system. The billing system receives all the
    information about the time spent by programmers
    on the different projects and computes the cost
    of projects.

22
Step 1 Identify Actors
  • An actor is someone or something that must
    interact with the System Under Development

User of the system
Billing System
Administrator
23
Step 2 Identify Use Cases
  • A use case is a pattern of behavior the system
    exhibits
  • Each use case is a sequence of related
    transactions performed by an actor and the system
    in a dialogue
  • Strategies for identifying Use Cases
  • Examine Actors to determine their needs
  • Find verbs and actions in the description

24
Step 2 Time Tracker
  • We have been contacted by a small software firm.
  • They want us to build a system for letting
    employees track how they spend their time when
    working on a computer. The idea is that of a
    stop-watch the users of the system can start
    and stop counting the time spent on different
    activities the system logs such activities and
    can be used to produce reports by an
    administrator.
  • The system can also be integrated with a billing
    system. The billing system receives all the
    information about the time spent by programmers
    on the different projects and computes the cost
    of projects.

25
Step 2 Identify Use Cases
  • A use case is a pattern of behavior the system
    exhibits
  • Each use case is a sequence of related
    transactions performed by an actor and the system
    in a dialogue

Show
26
Step 3 Use Case Diagram
  • Use case diagrams are created to visualize the
    relationships between actors and use cases

27
Exercise
  • Reservation System
  • We want to build a system for the electronic
    reservation of seats of a group of movie
    theatres. The users can either buy tickets for a
    particular show or buy subscriptions, also by
    phone. Payments can be performed in cash or by
    credit card. A supervisor can print the list of
    seats available for a particular show and see the
    status of sales performed so far.
  • A secretary updates the list of shows (by
    adding/deleting/...)

28
  • Software Engineering
  • Reservation System correction
  • (reserve.zip)
  • February, 21

29
Homework
  • Restaurant Management System
  • We have been asked to build a system to automate
    the ordering and billing activities of a
    restaurant. The system is distributed waiters
    and waitresses are provided with handheld devices
    to take orders. The handheld devices communicate
    orders to the kitchen and to the cashier. The
    handheld devices receive real-time information
    about availability of the different items in the
    menu. Once placed, orders can be changed by the
    customers, within a time frame from the order (5
    minutes) or after the time-out, if the
    corresponding order has not yet been processed by
    the Cook.The system computes bills and is also
    used to manage reservations of tables.
    Reservations can either happen by phone or via
    the internet.

30
Homework
  • Make a Use Case Diagram of previous exercise
Write a Comment
User Comments (0)
About PowerShow.com