Software Design - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Software Design

Description:

BK - Spring 2006. Software Design ... BK - Spring 2006. What the course isn't about. To keep the course manageable, we won't cover: ... – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0

less

Transcript and Presenter's Notes

Title: Software Design


1
Software Design
  • An Introduction to Object Oriented Analysis and
    Design Using the Unified Modelling Language

Bill Keller Spring 2006
2
Lecture 1 Introduction
  • Introduction
  • What the course is about
  • What the course is not about
  • Aims and Outcomes
  • Teaching and Assessment
  • Design Case Study
  • Design Task
  • Recommended Reading

3
What the course is about
  • An introduction to object-oriented analysis and
    design
  • The software development process
  • Object-orientation
  • Requirements analysis and modelling
  • Software quality
  • The Unified Modelling Language (UML)
  • Use case diagrams
  • Static structure and the class model
  • Object collaboration and interaction
  • Object state and behaviour
  • Team-working
  • Managing the process

4
What the course isnt about
  • To keep the course manageable, we wont cover
  • Requirements capture
  • Interface design and HCI Issues
  • Deployment and maintenance
  • Some UML dealt with only briefly or not at all
  • Packages and components
  • Deployment diagrams
  • Object constraint language

5
Course Aims
This course aims to provide first year students
with
  • An introduction to fundamental concepts of
    object-oriented analysis and design of software
  • practical experience of software modelling and
    design techniques
  • experience of team-working
  • an introduction to the Unified Modelling Language

6
Learning Outcomes
  • On successful completion of the course students
    should be able to
  • Appreciate the problems inherent in the design of
    high-quality software
  • Demonstrate the skills needed to model software
    components using basic elements of the UML
  • Work effectively as a part of a software design
    team
  • Document design decisions appropriately

7
Why UML?
  • UML is a visual modelling language which
  • supports analysis and modelling at all stages
  • is an emerging standard for software modelling
  • Is process neutral i.e. is not tied to any one
    particular design process
  • We will cover core aspects of UML, including
  • Use-case diagrams,
  • Class diagrams,
  • Interaction diagrams collaboration/sequence
  • Statechart and activity diagrams

8
A Little History
  • Late 1960s
  • Emergence of OO programming languages
  • Simula-67, Smalltalk (1970)
  • 1970s
  • Appearance of first OOAD methodologies
  • 1980s and early 1990s
  • Many competing general development methods and
    modelling languages (over 50)
  • The methods wars

9
Emergence of UML
  • By the mid 1990s three key methods had become
    prominent
  • Rumbaugh Object Modelling Technique
  • Booch Booch 93 OO Analysis and Design
  • Jacobson OO Software Engineering
  • 1995 Rumbaugh, Booch and Jacobson join forces in
    Rational
  • Develop the (Rational) Unified Process
  • Develop the Unified Modelling Language (UML)

10
UML is.
  • A ready-to use visual modelling language
  • A language, not just a notation
  • For OO analysis and design of (software) systems
  • UML diagrams provide for various views of systems
  • Simple and expressive
  • UML has core set of expressive concepts/notations
  • Extensible
  • allows specialization/addition of
    concepts/notations
  • An emerging standard for modelling systems

11
UML is not
  • A visual programming language
  • UML is for modelling/conceptualizing/visualizing
    systems, not for implementing them
  • Not tied to a particular programming language
  • A development process
  • UML is process neutral
  • Not tied to a particular process (e.g. Unified
    Process)
  • A development tool
  • A guarantee of success

12
System, Design, Model, Diagram
  • Important to be clear about terminology
  • System program or collection of programs meeting
    user requirements end goal of the development
    process
  • Design collection of decisions about how to
    build system end product of the design process
  • Model abstract representation of system or
    design from a particular viewpoint a product of
    some stage of the design process
  • Diagram visual representation of (part of) model

13
Models and UML Diagrams
  • Use case model describes the high level
    functionality of system from users point of view
  • UML use case diagram UML activity diagram
  • Static model describes the elements of system
    and their organization and relationships
  • UML class diagram UML package diagram
  • Dynamic model describes behaviour of system over
    time
  • UML collaboration diagram UML sequence diagram
    UML statechart diagram

14
UML CASE Tools
  • Poseidon UML Standard Edition
  • A professional UML Case tool provided on lab PCs
  • Poseidon UML Community Edition
  • A cut-down version of the above that is freely
    downloadable from http//www.gentleware.com/
  • Rational Rose
  • Can be run from Sun machines? In .login file add
    the line source /local/global/rational_logi
    n
  • To run, at prompt do
    rose
  • Eclipse Omondo plug-in
  • Useful if you like Eclipse.

15
UML Drawing Tools
  • Some drawing tools incorporate UML diagrams
  • e.g. dia http//dia-installer.sourceforge.net/
  • But for small design tasks, any half-way decent
    drawing package will probably do
  • All the UML drawing in these lectures were
    produced with Windows AutoShapes
  • Or you could just use paper and pencil
  • Remember the goal is good design rather than
    pretty pictures!

16
Teaching Sessions Lectures
  • Generally there will be two lectures each week
  • Tuesday 10.00 --11.00 in JMS Building 1A01
  • Wednesday 9.00 -- 10.00 in JMS Building 1A01

17
Syllabus
  • What is Software Development and why is it hard?
  • The Software Development lifecycle
  • Object Orientation and Software Design
  • Requirements Specification
  • Requirements analysis and Use Cases
  • Class Models and the UML Class Diagram
  • Modelling Object Collaborations and Interactions
  • Object Behaviour and the UML Stateflow Diagrams
  • Software Quality

18
Teaching SessionsDesign Workshops
  • There will be a design workshop each week
  • work together in small teams
  • focus on a single design task
  • Based around structured design exercises
  • work through the development process
  • hands-on experience of design techniques
  • develop understanding of lecture material

19
Formal Assessment
  • Assessment for the course
  • is based entirely on coursework
  • focuses on a single software design task
  • Assessed work will consist of
  • two submissions of design documentation
  • an oral presentation
  • Assessed work will be team-based
  • You will work together in teams in the design
    workshops and to complete the assessment

20
Design TaskOnline Bookshop
Statement of Purpose The eVersity online bookshop
allows students and staff to purchase course
books quickly and easily. A user is able to
browse the book catalogue or search for
individual items by title or author. Required
books may be added to a purchase order. Payment
is by debit card although college staff can also
pay by salary deduction. College tutors can order
in textbooks for courses that they teach.
21
Why Teamwork?
  • Software design is usually a team effort
  • Real-world software systems too large and complex
    to be tackled by a single individual
  • good design requires various sorts of expertise
  • Successful design projects need
  • planning,
  • communication
  • management
  • Teamwork plays a central role in this course

22
Some Useful Texts
  • Priestly, M (2003) Practical Object-Orientated
    Design with UML, (3rd Edition) McGraw-Hill
  • Lunn, K. (2003) Software Development with UML,
    Palgrave
  • Bennet, S, McRobb, S, and R Farmer (2002)
    Object-Oriented Systems Analysis and Design,
    McGraw-Hill
  • Bennet, S, Skelton, J and K Lunn (2001) UML,
    Schaums Outlines series, McGraw-Hill
  • Budgen, D (1994) Software Design, Addison-Wesley

23
Other Resources
  • The course web site
  • Course outline information
  • Lecture notes
  • Seminar notes
  • Details of design task and exercises
  • Etc. etc.
  • Look under
  • Informatics home gt teaching gt course directory


24
Summary
  • The course covers key ideas in
  • object oriented analysis and design
  • UML
  • Teaching is provided by a combination of
  • lectures
  • hands-on design workshops
  • Assessment is entirely by coursework
  • Based on a single design task
  • Students work together in design teams

25
Software Design
Write a Comment
User Comments (0)
About PowerShow.com