CS445 CS645 ECE451 Software Requirements Specification and Analysis - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

CS445 CS645 ECE451 Software Requirements Specification and Analysis

Description:

Applying UML and Patterns: An Introduction to OOA/D and Iterative Development, ... Introduction to the Course Project. The Interface Description. The Course ... – PowerPoint PPT presentation

Number of Views:146
Avg rating:3.0/5.0
Slides: 33
Provided by: michaelw1
Category:

less

Transcript and Presenter's Notes

Title: CS445 CS645 ECE451 Software Requirements Specification and Analysis


1
CS445 / CS645 / ECE451Software Requirements
Specification and Analysis
  • Lecture 01
  • Introduction and admin

2
Welcome!
  • Its really great to be here.
  • Youre a fabulous audience.
  • Anyone here from out of town?
  • Yada yada yada

3
Course staff, web pages, etc
  • Lecturer
  • Prof. Mike Godfrey, DC2340, migod_at_uwaterloo.ca
  • Head TA
  • Davor Svetinovic, davorss_at_gmail.com
  • Course web page
  • http//www.student.cs.uwaterloo.ca/cs445
  • Course newsgroup
  • uw.cs.cs445

4
Course details
  • This is the first course in a sequence of three
    project courses in Software Engineering
  • CS 445 / 645 / ECE 451
  • Software requirements specification and analysis
  • CS 446 / 646 / ECE 452
  • Software design and architecture
  • CS 447 / 647 / ECE 453
  • Software testing, quality assurance, and
    maintenance

5
Expectations
  • Attend lectures
  • Read course notes as per schedule
  • Attend all tutorials
  • Work effectively in groups of 3-4
  • Understand how the tools work
  • Understand all of the project you hand in (you
    will be tested)

6
Course format
  • Two official lecture slots
  • 830 to 950 am Tues/Thurs MC4021
  • One two hour tutorial slot
  • 230 to 420 pm Thurs CPH 3388
  • You MUST attend all of the tutorials
  • Early in the term, extra lectures will be given
    in these slots to allow you to ramp up on the
    project details.
  • We will have some slack lecture/tutorial spots at
    the end of term details TBA but some of it
    wont be on the exam.
  • It will make you a wiser, better human being

7
Texts
  • Available at the bookstore
  • Applying UML and Patterns An Introduction to
    OOA/D and Iterative Development, 3rd edition,
    Craig Larman, Prentice-Hall.
  • Its very good, but well only use the first 1/3
    of it.
  • CSC445 course notes
  • a collection of papers last terms version is
    the same
  • DC library
  • IEEE Recommended Practice for SRSs, 1993.
  • It used to be in the course notes, but cost went
    way up so it was nuked.

8
Course Textbooks Optional
  • Available in Bookstore and also on reserve in the
    DC Library
  • Books on UML
  • Rumbaugh, Jacobson, Booch, The Unified Modeling
    Language Reference Manual (2nd ed. preferred),
    Addison-Wesley, 1999/2004.
  • Fowler, UML Distilled (3rd ed. preferred),
    Addison-Wesley, 2004.
  • Maciaszek, Requirements Analysis and System
    Design, Addison-Wesley, 2001.
  • Books on SDL
  • Braek and Haugen, Engineering Real Time Systems
    An OO approach using SDL, 1993. The better SDL
    book, but may be out-of-print
  • Ellsberger, Hogrefe, Sarma, SDL, Prentice-Hall,
    1997.

9
Course Textbooks Optional
  • Available in Bookstore and also on reserve in the
    DC Library
  • General requirements engineering, emphasis on
    reasonable processes
  • Robertson and Robertson, Mastering the
    Requirements Process, Addison-Wesley, 1999.
  • Leffingwell and Widrig, Managing Software
    Requirements, Addison-Wesley, 2000.
  • Beautifully written classics, easy to read,
    containing much wisdom
  • Jackson, Software Requirements Specifications,
    Addison-Wesley, 1995.
  • Gause and Weinberg, Exploring Requirements,
    Dorset House Publishing, 1989.

10
Course project
  • You will write a Software Requirements
    Specification (SRS) for a small telephone
    exchange and its associated information system.
  • Doing so will allow you to apply the software
    engineering principles and techniques discussed
    in lecture to the problems of eliciting,
    documenting, and validating the specification of
    a nontrivial software system.
  • To give better coverage of various specification
    techniques and notations, we have designed the
    course project to incorporate techniques used to
    develop real-time software for embedded systems
    and object-oriented techniques used to develop
    information systems.

11
Course project
  • An SRS (to be discussed in detail) is basically a
    big semi-formal document that details what the
    proposed system is supposed to do.
  • It includes structured text plus diagrams (in our
    case, using SDL and UML)
  • You will not write any code, per se, in CS445!
  • But you will implement this system in CS446 and
    test it in CS447

12
Project Documents
  • The following documents are available on the
    projects course web page
  • Introduction to the Course Project
  • The Interface Description
  • The Course Project Deliverables

13
Project
14
Project
  • At the highest level, your system must consist of
    a Server and several Phone Subsystems.
  • The Server consists of one or more processes and
    possibly a database.
  • Each Phone Subsystem amounts to a process that
    uses the API described in the Hardware Interface
    Description document to interface with a single
    phone.
  • You are free to distribute or centralize the
    responsibilities of your system over your Server
    processes and the Phone Subsystems as you see
    fit.
  • However, communication between your Server and
    each Phone must occur over sockets.
  • The reason for this restriction is that,
    conceptually, the Phone Subsystem is connected to
    your system via an IP network. Thus, sockets are
    the default form of inter-process communication.

15
Project Requirements Overview
  • Basic Call Processing
  • A call from one phone to another using 4-digit
    phone numbers.
  • Dialed Number Translation
  • Convert the 4-digit phone number to an IP address
    to locate the destination phone.
  • System Console
  • Graphical interface to your system used by an
    Administrator.
  • User Accounts
  • For someone to use a phone, that phone must be
    assigned to a user. This user will need a phone
    number which must be published in someway to
    allow dialed number translation to occur.

16
Project Requirements Overview
  • Maintenance
  • Run system tests periodically and display
    failures to the Administrator.
  • Allow the Administrator to limit the number of
    calls allowed in your system.
  • Display hardware status to the Administrator.
  • Billing
  • Each user is sent a bill showing all charges
    incurred during a defined billing period. To
    facilitate this, your system needs to keep a
    record of every established call.
  • An Administrator can change the amounts charged
    for a call by adding new billing plans or editing
    existing ones.

17
Project Specification Notations
  • Call Processing
  • SDL
  • Data Management
  • UML
  • System Console
  • Any drawing tool/language, e.g.,Visio, xfig, dia,
    Visual C, tcl/tk
  • Maintenance
  • UML
  • Billing
  • UML

18
Project Format
  • You will work in groups of 3-4 (4 is preferable).
  • Each group will work with a single dedicated TA,
    who will act as the customer.
  • TAs Davor Svetinovic, Troy Gonsalves, Irwin
    Kwan, Naghmeh Ghafari
  • Your TA will be well versed in the project
    details.
  • You have to ask him/her questions to figure out
    the details of what is wanted in the system you
    are specifying. The web documents are
    deliberately vague.
  • Typically, your TA will not volunteer
    information you have to learn how to ask the
    right questions.
  • You should meet regularly with the TA, preferably
    once per week.
  • You will use modelling / CASE tools to produce
    the diagrams used in your SRS.

19
Project Deliverables
  • Deliverable Worth Week Due
  • First Partial SRS 10 5
  • Second Partial SRS 5 8
  • Fix problems walkthru w. TA 3 9
  • Critique of another group 2 9
  • Final SRS 20 12
  • In total, the project is worth 40 of your final
    grade.
  • Details on what belongs in each deliverable and
    the exact due
  • dates are available on the course web page.
  • The TA who is your customer, will also grade your
    deliverables

20
Project Lateness Penalties
  • Deliverables are to be handed in to the
    Instructor or the Head Project TA (Davor).
  • Lateness Penalty
  • on time none
  • 15 mins. 15
  • 1 hour 25
  • 2 hours 50
  • 1 day 75
  • 2 days 95
  • After 2 hours, your deliverable will receive no
    marks but will be graded in order to give you
    feedback.

21
How to Choose a Team
  • groups of size 3 to 4 (4 is better)
  • similar work habits
  • similar goals and expectations
  • similar or balanced abilities
  • one member with good English and communication
    skills
  • similar workloads and resources
  • GOALs
  • maximize equitable distribution of the workload
  • minimize resentment
  • You will likely be working with the same group
    for three courses!

22
Meetings with Your Customer (TA)
  • The purpose of these meetings is to find out the
    requirements of the telephone exchange system.
  • You, the team members, should take minutes of
    your meetings with the TA so you have documented
    what was agreed to.
  • These minutes should typed up and sent by e-mail
    to the TA. You and the TA should iterate on the
    text of these minutes until you agree on the
    contents.
  • After that, both you and the TA will keep a copy
    of the minutes with the words Agreed to by group
    and TA added.
  • Meetings with your TA later in the term will
    involve presentations of your requirements and
    inspections.

23
Course software
  • Two modelling tools
  • MagicDraw for UML diagrams
  • SDT for SDL diagrams
  • These tools are pretty sophisticated and take
    some time to learn.
  • You can dump the desired diagrams into an image
    file for importing into your SRS document.
  • Some kind of document processing tool
  • LaTeX, OpenOffice, MS-Word, etc.
  • Some kind of drawing tool / UI tool
  • MS-Visio, xfig, tcl-tk, etc.

24
Grading Scheme
  • -age Item Week Due
  • 40 Course Project
  • 10 First Partial SRS 5
  • 5 Second Partial SRS 8
  • 3 Fix Problems Walkthrough 9
  • 2 Critique 9
  • 20 Final SRS 12
  • 10 Midterm Exam 7
  • 50 Final Exam ??
  • 10 Graduate tutorial (oral written)
    1012
  • You must pass the final exam to pass the course.
  • The midterm will be in-class Tues Feb 15th.

25
Graduate Students
  • Yes, graduate students must do 10 more!
  • They must give a lecture near the end of term and
    write a report that is due the last day of class.
  • Graduate students should send me e-mail about
    selecting a topic.
  • Good places to start looking for a topic are in
    the Dorfman paper.
  • All students must attend the grad lectures. The
    content will be on the exam.

26
Course web page, newsgroup, email
  • Web page
  • Will change over time, keep checking back.
  • May contain some legacy info ask if you see
    something that seems strange or our of date.
  • http//www.student.cs.uwaterloo.ca/cs445
  • Newsgroup
  • Mainly for announcements and lecture discussion,
    not project discussion (ask your TA instead).
  • uw.cs.cs445
  • Email contact
  • Please send mail here, rather than to
    instructor/head TA
  • cs445_at_student.cs.uwaterloo.ca

27
CS445 is brought to you by
  • these profs
  • Jo Atlee original course designer
  • Dan Berry
  • Nancy Day
  • Mike Godfrey
  • and several others (esp. Davor)
  • The letters S, R, and S ?

28
Questions and Complaints ??
  • If you have a lecture-related question, ask the
    lecturer.
  • Probably its best to ask in class, so that
    others can benefit from the answer
  • The TAs should be up on all of the lecture
    material, tho, so you can also ask them.
  • If you have a project-related complaint or
    question, ask your project TA.
  • If that doesnt work, ask the head TA.
  • If that doesnt work, ask the lecturer.

29
First Assignment
  • Due Tuesday, 13 Jan 2003 230pm
  • Form a team.
  • Send plain text email (no html, doc, etc files)
    to cs445_at_student.cs.uwaterloo.ca with the
    following for each team member
  • name (family, private),
  • student ID,
  • UW userid (just one word and no _at_site), and
  • preferred e-mail address
  • in that order on one line with a space (and no
    other punctuation) between each pair of items.

30
Example
  • Bauer, Bobby 123456777 rbauer bobby_at_kitchenerkids.
    org
  • Dumart, Woody 123456666 wdumart
    woody_at_kitchenerkids.org
  • Schmidt, Milt 123456555 mschmidt
    milt_at_kitchenerkids.org

31
Topics covered in CS445
  • Software engineering, software lifecycle
    processes, and requirements engineering
  • Domains, requirements, and specifications What
    vs. how
  • Requirements elicitation
  • Requirements specification notations
  • SDL
  • UML
  • Algebraic specifications
  • Temporal logic
  • Non-functional requirements
  • Software requirements specification documents
    (SRSs)
  • User interfaces
  • Validation (inspections, formal analysis)
  • Cost estimation
  • plus other topics TBA depending on time and
    interest

32
CS445 / CS645 / ECE451Software Requirements
Specification and Analysis
  • Lecture 01
  • Introduction and admin
Write a Comment
User Comments (0)
About PowerShow.com