Workshop on Software Engineering Project - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Workshop on Software Engineering Project

Description:

Not a method, process, or design guide. WSEP 06. Technology. Any current OO related: ... Limit: upper bound for buying / lower bound for selling ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 20
Provided by: csBg
Category:

less

Transcript and Presenter's Notes

Title: Workshop on Software Engineering Project


1
Workshop on Software Engineering Project
  • Lior Limonad
  • limond_at_cs.bgu.ac.il
  • www.cs.bgu.ac.il/wsep062
  • Spring 2006
  • Resource Applying UML and patterns 3ed
    Craig Larman

2
Goal
  • Acquire practical capabilities to deal with the
    process of an application construction
  • Handle (changing) requirements
  • From domain design to implementation
  • Work in small teams (XP)
  • Work by some customized process (UP)
  • Control the implementation (TDD)
  • Achieve a satisfactory solution (!)

3
Method
  • Through the whole semester period, work in small
    supervised teams to construct all artifacts (and
    implementation) of an evolving software
    application
  • Customized process
  • Mainly UP as illustrated in Applying UML and
    patterns 3ed, Craig Larman
  • XP pair programming, TDD

4
UP iterative and evolutionary
  • Inception approximate vision, business case,
    scope, vague estimates
  • Elaboration refined vision, iterative
    implementation of core architecture, resolution
    of risks, identification of most requirements
  • Construction iterative implementation of
    remaining elements, preparation for deployment
  • Transition beta tests, deployment

5
Communications
  • Analysis, Design and Implementation
  • Requirements definition
  • Structural definitions
  • Behavioral definitions
  • Systems external interactions definitions
  • Teams interactions
  • ? UML Just a diagramming notation standard. Not
    a method, process, or design guide.

6
Technology
  • Any current OO related
  • Installed in Labs
  • Supports enterprise architecture (layering)
  • Versioning
  • Support your decision!

7
Case Study
  • The Dito system (i.e. http//www.collective2.c
    om)A Trading systems support platform(No prior
    knowledge of investing is required!)
  • A trading system (TS) is simply a group of
    specific rules, or parameters, that determine
    entry and exit points for a given equity. These
    points, known as signals, are often marked on a
    chart in real time and prompt the immediate
    execution of a trade. http//www.investopedia.com
    /university/tradingsystems/
  • The Dito system is a software application that
    acts as a container platform for handling a
    collection of trading systems

dito to enrich, make wealthy.
8
Dito system spec. cont.
  • The stakeholders
  • The equity market / stock market
  • Stream input feed for TS analysis
  • TS owners
  • Introducing new signals activity
  • Monitoring subscribers activity (income from
    subs.)
  • TS subscribers
  • View TS public activity summarizations
  • Getting signals notifications (fax, email, sms)

9
Dito system spec. cont.
  • Definitions
  • TS - Within the dito system, a TS is simply a
    stream of signals
  • Signal may be either one of four conditioned
    trading hints
  • Buy to open (BTO)
  • Sell to close (STC)
  • Sell short (SSH)
  • Buy to close (BTC)

STC
SSH
BTC
BTO
10
Dito system spec. cont.
  • Signal attributes
  • Type BTO, STC, SSH, BTC
  • Amount ?
  • Equity ID
  • Limit upper bound for buying / lower bound for
    selling
  • Stop upper bound for selling / lower bound for
    buying
  • Execution precondition defines a set of
    correlated signals that must be executed first
  • Validity Day, GTC (Good till cancel)

11
Inception (One week)
  • Initial short step to establish a common vision
    and basic scope for the project.
  • Includes 10 of use cases
  • Analysis of critical requirement
  • Preparation of the development environment

12
Use Case Diagrams
Warning Dont spend much time on
diagramming. Use case work means to write text,
not draw diagrams
13
Use Cases
  • Use cases are one way to capture (especially)
    functional requirements.
  • They are stories of using a system to fulfill a
    goal.
  • More formally, a use case is a collection of
    success and failure scenarios describing a
    primary actor using a system to support a goal.

14
Use Cases cont.
  • There is nothing object-oriented about use cases.
  • So, why bother in an OOA/D workshop?
  • We need some kind of requirements input for the
    design steps.
  • They are common/popular.
  • There is a UML-related topic.
  • Use case diagrams

15
Use Cases example
  • Use Case UC1 Rent Video
  • Level User-level goal (EBP level)
  •  
  • Primary Actor Clerk
  • Preconditions
  • Clerk is identified and authenticated.
  • Stakeholders and their Interests
  • Clerk Wants accurate, fast entry.
  • Customer Wants videos, and fast service with
    minimal effort.
  • Accountant Wants to accurately record
    transactions.
  • Marketing Wants to track customer habits.
  • . . .

16
Use Cases example
  • Main Success Scenario (or Basic Flow or Happy
    Path)
  • Customer arrives at a checkout with videos or
    games to rent.
  • Clerk enters Customer ID.
  • Clerk enters rental identifier.
  • System records rental line item and presents item
    description.
  • (Clerk repeats steps 3-4 until indicates done.)
  • System displays total.
  • Customer pays. System handles payment.
  • Clerk requests rental report.
  • System outputs it. Clerk gives it to Customer.
  • Customer leaves with rentals and report.

17
Use Cases example
  • Extensions (or Alternatives)
  • a. At any time, System fails
  • Clerk restarts System
  • logs in
  • requests recovery from prior state
  • 1a. New Customer.
  • 1. Perform use case Manage Membership.
  • 2a. Customer ID not found.
  • 1. Cashier verifies ID. If entry error,
    reenter, else Manage Membership.
  • 2b. Customer has unpaid fines (usually for late
    returns).
  • 1. Pay Fines.

18
Use Cases example
  • Special Requirements
  • Language internationalization on the display
    messages and rental report.
  • Large text on display. Visible from 1 m.
  • Technology and Data Variations
  • ID entries by bar code scanner or keyboard.
  • Frequency
  • Near continuous
  • Open Issues
  • Should we support a magnetic stripe cards for
    customer ID, and allow customer to directly use
    card reader?

19
Tasks
  • Choose technology and dev. environment
  • Define use cases for the dito system
  • At least 3 use cases (not startup/shutdown!)
  • Specify supplementary specification (p104)
    performance, licensing, special features such as
    report generation
  • Glossary define noteworthy terms object
    attributes, operation parameter, report layout
  • Vision half page executive overview
  • Sketch basic architecture (components)
  • List at least 2 critical requirements
  • Associate roles for the first cycle as follows
  • 2 pairs of students responsible for two different
    modules
Write a Comment
User Comments (0)
About PowerShow.com