SE 1: Software Requirements Specification and Analysis Lecture 1: - - PowerPoint PPT Presentation

se 1 software requirements specification and analysis
SMART_READER_LITE
LIVE PREVIEW

SE 1: Software Requirements Specification and Analysis Lecture 1: - - PowerPoint PPT Presentation

SE 1: Software Requirements Specification and Analysis Lecture 1: Introduction and Administration Nancy Day, Davor Svetinovi c http://www.student.cs.uwaterloo.ca/cs445/Winter2006 uw.cs.cs445 U Waterloo SE1 (Winter 2006) p.1/55


slide-1
SLIDE 1

SE 1: Software Requirements Specification and Analysis

Lecture 1: Introduction and Administration

Nancy Day, Davor Svetinovi´ c http://www.student.cs.uwaterloo.ca/˜cs445/Winter2006 uw.cs.cs445

U Waterloo SE1 (Winter 2006) – p.1/55

slide-2
SLIDE 2

Welcome

This course is known as . . .          E&CE 451 CS 445 CS 645 SE463          SE 1 Software Requirements Specification and Analysis It is the first of three project courses on software engineering: E&CE452/CS446/SE464 (SE 2): Software Design and Architecture. E&CE453/CS447/SE465 (SE 3): Software Testing, Quality Assurance, and Maintenance.

U Waterloo SE1 (Winter 2006) – p.2/55

slide-3
SLIDE 3

Introductions

Instructors: Nancy Day, DC2335 Davor Svetinovi´ c, DC3334C Project TAs: Shahram Esmaeilsabzali Kristina Hildebrand Contact information is available on the course web page.

U Waterloo SE1 (Winter 2006) – p.3/55

slide-4
SLIDE 4

Today’s Agenda

Introduction What is Software Engineering (SE)? What is Requirements Engineering (RE)? Administration Outline, format Textbooks Project, CASE tools Grading Scheme Web pages, newsgroup

U Waterloo SE1 (Winter 2006) – p.4/55

slide-5
SLIDE 5

What is Software Engineering?

[Software engineering is] the establishment and use

  • f sound engineering principles in order to obtain

economically software that is reliable and works efficiently on real machines. Fritz Bauer, 1968 NATO Conference quoted in Pressman. Software maybe only one part of a computer-based system (CBS).

U Waterloo SE1 (Winter 2006) – p.5/55

slide-6
SLIDE 6

What are “requirements”?

Requirements are the desired goals or behaviour of the system. What are we trying to accomplish? What does the customer want? “Software requirements are about writing the right expectations in the right way.” (Lauesen p. ix)

U Waterloo SE1 (Winter 2006) – p.6/55

slide-7
SLIDE 7

What is a “specification”?

A requirements specification is a description of the proposed behaviour of a computer-based system (CBS). What is assumed of the environment in which the CBS

  • perates?

Given these assumptions, what shall the CBS do? What are the boundaries of this CBS? We will concentrate of software requirements specifications (SRS), but we need to remember that often software is just

  • ne part of the system.

The requirements specification can often form a contract between the customer and supplier.

U Waterloo SE1 (Winter 2006) – p.7/55

slide-8
SLIDE 8

SE Life Cycle: WaterFall Model

INTEGRATE TEST CODE DESIGN REQUIREMENTS

U Waterloo SE1 (Winter 2006) – p.8/55

slide-9
SLIDE 9

Prototyping Model

DOCUMENT REQUIRE− MENTS DESIGN CODE TEST REQUIRE− MENTS BUILD PROTOTYPE DESIGN PROTOTYPE TEST PROTOTYPE INTEGRATE

U Waterloo SE1 (Winter 2006) – p.9/55

slide-10
SLIDE 10

Incremental Model

DES TEST CODE INTEGRATE REQ DES TEST CODE INTEGRATE DES TEST CODE INTEGRATE REQ REQ TIME

U Waterloo SE1 (Winter 2006) – p.10/55

slide-11
SLIDE 11

Evolutionary/Iterative

REQUIRE− MENTS DESIGN CODE TEST INTEGRATE REQUIRE− MENTS DESIGN CODE TEST INTEGRATE REQUIRE− MENTS DESIGN CODE TEST INTEGRATE TIME

U Waterloo SE1 (Winter 2006) – p.11/55

slide-12
SLIDE 12

Spiral

Determine objectives, alternatives, next level product Develop, verify Benchmarks Models, Simulations, Risk analysis identify, resolve risks Evaluate alternatives; Plan next phase constraints

U Waterloo SE1 (Winter 2006) – p.12/55

slide-13
SLIDE 13

Rational Unified Process

The Rational Unified Process (referred to as UP in Larman) is an evolutionary model of software development that uses UML.

INCEPTION CONSTRUCTION TRANSITION ELABORATION

Each of these phases may contain several iterations. UP recommends having iterations that last only 2-6 weeks.

U Waterloo SE1 (Winter 2006) – p.13/55

slide-14
SLIDE 14

Rational Unified Process

  • 1. Inception:

vision scope consider project feasibility commonly-used technique: use cases

  • 2. Elaboration:

elaboration of requirements (more diagrams) resolution of high risks begin core architecture

  • 3. Construction: implementation
  • 4. Transition: testing, deployment

Some aspects of requirements, design, implementation, and test are done in most phases.

U Waterloo SE1 (Winter 2006) – p.14/55

slide-15
SLIDE 15

Project Types

In-house development Product development Time-and-material based development COTS purchase Tender/Contract

U Waterloo SE1 (Winter 2006) – p.15/55

slide-16
SLIDE 16

Uses of Requirements

DESIGN MAINTENANCE TESTING/ VERIFICATION IMPLEMENTATION REQUIREMENTS CERTIFICATION, ETC. CUSTOMER

U Waterloo SE1 (Winter 2006) – p.16/55

slide-17
SLIDE 17

Requirements Engineering

Elicitation − collect information about requirements Requirements Analysis − understanding/modeling desired behaviour Specification − documenting behaviour of proposed software system Validation − checking whether documented specification accomplishes customer’s requirements

U Waterloo SE1 (Winter 2006) – p.17/55

slide-18
SLIDE 18

Why write requirements?

According to F . Brooks: “The hardest single part of building a software system is deciding precisely what to build . . . No other part of the work cripples the resulting system if it is done

  • wrong. No other part is more difficult to rectify later.”

U Waterloo SE1 (Winter 2006) – p.18/55

slide-19
SLIDE 19

Why write requirements?

Requirements errors are expensive to fix Stage in Which Relative Error is Detected Cost to Fix Requirements 1 Design ∼5 Coding ∼10 Unit Test ∼20 Acceptance Test ∼50 Maintenance ∼200

U Waterloo SE1 (Winter 2006) – p.19/55

slide-20
SLIDE 20

Why write requirements?

∼80% of all software errors are requirements errors. These are software errors detected after unit testing – that is, in integration testing, system testing, and after the software is released. Most errors can be traced to unknown, wrong, or misunderstood requirements.

U Waterloo SE1 (Winter 2006) – p.20/55

slide-21
SLIDE 21

Why write requirements?

Requirements usually affect large portions of the implementation; they are rarely encapsulated into modules. Requirements errors may be fundamental assumptions built into the design or code, e.g., each phone has 1 phone number. Expensive requirements errors are often not fixed; they become “features”. Devoting 25% of the system development budget on requirements reduces the cost overrun from ∼80% to ∼ 5%.

U Waterloo SE1 (Winter 2006) – p.21/55

slide-22
SLIDE 22

Why write requirements?

If there are no requirements, how will you evaluate the success or failure of the project? If there are conflicting requirements, how can you build a product that satisfies all of them?

U Waterloo SE1 (Winter 2006) – p.22/55

slide-23
SLIDE 23

Types of Requirements

Three major categories: Functional/Data What is the system supposed to do? Format of input/output Mapping from input to output (possibly over time) Non-functional Process: standards, delivery, etc. Product: usability, efficiency, reliability, portability External: cost Context/environment Range of conditions in which the system should

  • perate

U Waterloo SE1 (Winter 2006) – p.23/55

slide-24
SLIDE 24

Course Goal

Goal: learn how to write a software requirements specification that is, clear/communicable/understandable unambiguous a useful reference/concise checkable (complete, consistent) testable/verifiable/measureable traceable does not describe the implementation You may have to balance attributes such as completeness and understandability.

U Waterloo SE1 (Winter 2006) – p.24/55

slide-25
SLIDE 25

Unambiguous Requirements

Example: For a cruise control system, “if the current speed is greater than the set speed, then the system shall decelerate the vehicle to the set speed within 10 seconds”.

U Waterloo SE1 (Winter 2006) – p.25/55

slide-26
SLIDE 26

Consistent Requirements

Vancouver Airport: U.S. Departures International Departures

U Waterloo SE1 (Winter 2006) – p.26/55

slide-27
SLIDE 27

Course Outline

Software Requirements Specifications (SRSs) Requirements Elicitation Requirements Specification Notations UML SDL Algebraic Specifications Temporal Logic Non-functional Requirements User Interfaces Validation (inspections, formal analysis) Cost Estimation Please see the course web page for details of the schedule.

U Waterloo SE1 (Winter 2006) – p.27/55

slide-28
SLIDE 28

Course Format

CS445: Lectures: Tuesday/Thursdays 8:30-9:50 RCH 307 Tutorials: Thursday 2:30-4:20 RCH 306 Tutorials will provide additional examples and exercises. They can also be used for questions about the project. There will be a tutorial this week. Some tutorials will not be used.

U Waterloo SE1 (Winter 2006) – p.28/55

slide-29
SLIDE 29

Course Textbooks: Required

Available at Bookstore: Arlow, Neustadt, UML 2 and the Unified Process, Addison-Wesley, 2005, 2nd Edition. Course notes (collection of papers and chapters extracted from other texts) Textbook errata are listed on the course web page. Please let us know about any other errors that you find. DC Library: IEEE Recommended Practice for SRSs, 1993 (UW 1378)

U Waterloo SE1 (Winter 2006) – p.29/55

slide-30
SLIDE 30

Course Textbooks: Additional Refs

Here are other texts that you might find useful: Lauesen, Software Requirements: Styles and Techniques, Addison-Wesley, 2002. (QA76.754.C38x 2002) Fowler, UML Distilled, Addison-Wesley, 2004, 3rd edition. (available electronically at the DC library) Rumbaugh, Jacobson, Booch, The Unified Modeling Language Reference Manual, Addison-Wesley, 1999. (UW 1474) Robertson and Robertson, Mastering the Requirements Process, Addison-Wesley, 1999. (UW1476) Ellsberger, Hogrefe, Sarma, SDL, Prentice Hall, 1997. (UWD 1473)

U Waterloo SE1 (Winter 2006) – p.30/55

slide-31
SLIDE 31

Course Resources

For (almost) every lecture, there will be: possibly lecture notes and extra handouts (which will be available on the course web page) required readings from the course textbooks You are responsible for the material in the lectures and required readings on exams.

U Waterloo SE1 (Winter 2006) – p.31/55

slide-32
SLIDE 32

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.

U Waterloo SE1 (Winter 2006) – p.32/55

slide-33
SLIDE 33

Project Documents

The following documents are available on the “Projects” course web page: Overview of the Course Project Hardware Interface Description SE1: Course Project

U Waterloo SE1 (Winter 2006) – p.33/55

slide-34
SLIDE 34

Project

Phone Subsystem Phone Interface Your Code Sockets

System Console

Terminal IPPhone Phone Subsystem Phone Interface Your Code IPPhone Phone Subsystem Phone Interface Your Code IPPhone

...

Server Your Code U Waterloo SE1 (Winter 2006) – p.34/55

slide-35
SLIDE 35

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.

U Waterloo SE1 (Winter 2006) – p.35/55

slide-36
SLIDE 36

Project Requirements Overview

Basic Call Processing: call from one phone to another using 4-digit phone numbers. 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.

U Waterloo SE1 (Winter 2006) – p.36/55

slide-37
SLIDE 37

Project Requirements Overview (con’d)

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

  • nes.

U Waterloo SE1 (Winter 2006) – p.37/55

slide-38
SLIDE 38

Project Specification Notations

Call Processing → UML Administrative Functions → UML User Account Management Maintenance Billing System Console → Any drawing tool/language, e.g., Visio, xfig, Visual C++, tcl/tk, etc. You will use CASE tools to produce versions of a SRS for the telephone exchange.

U Waterloo SE1 (Winter 2006) – p.38/55

slide-39
SLIDE 39

Project Format

You will work in groups of 3-4 (4 is preferable). Each group will work with one TA, who will act as your customer. You should meet with the TA preferrable once per week. Every project will be different in the details! Usually, everyone in a group receives the same grade for the project.

U Waterloo SE1 (Winter 2006) – p.39/55

slide-40
SLIDE 40

Project Deliverables

Deliverable Worth Week Due Walkthroughs of use cases 5% 5 First Partial SRS 10% 8 Walkthroughs 3% 11 Critique of another group 2% 11 Final SRS 20% 13 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.

U Waterloo SE1 (Winter 2006) – p.40/55

slide-41
SLIDE 41

Project: Lateness Penalties

Deliverables are to be handed in to the Head Project TA (Davor) AND submitted electronically to cs445@student.cs.uwaterloo.ca . Lateness Penalty Wed 2pm

  • n time

none Wed 2:15pm 15 mins. 15% Wed 3pm 1 hour 25% Thu 10am 20 hours 50% After 20 hours, your deliverable will receive no marks but will be graded in order to give you feedback.

U Waterloo SE1 (Winter 2006) – p.41/55

slide-42
SLIDE 42

How to Choose a Team

Groups of size 4 (some may have to be groups of 3) Similar work habits Similar goals and expectations Similar or balanced abilities One member with good English and communication skills Similar workloads and resources GOAL: to maximize equitable distribution of the workload minimize resentment You will likely be working with the same group for three courses!

U Waterloo SE1 (Winter 2006) – p.42/55

slide-43
SLIDE 43

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.

U Waterloo SE1 (Winter 2006) – p.43/55

slide-44
SLIDE 44

Course Software

Computer-Aided Software Engineering (CASE) tools: specialized software tools to help document specifications using graphical notations; include graphical editors, repository, navigation facilities, rudimentary checking MagicDraw for UML Document Processing Tool (L

AT

EX, FrameMaker, HTML, Word, etc) must be able to incorporate PostScript files Drawing/UI tool: MS-Visio, xfig, tcl/tk, etc. Document management tools: CVS, RCS

U Waterloo SE1 (Winter 2006) – p.44/55

slide-45
SLIDE 45

Grading Scheme

%-age Item Week Due 40% Course Project 5% Walkthrough of use cases 5 10% First Partial SRS 8 3% Walkthroughs 11 2% Critique 11 20% Final SRS 13 10% Midterm Exam 7 50% Final Exam 10% Graduate tutorial (oral & written) 12 You must pass the final exam to pass the course. The midterm exam (1.5 hours) will be Thursday, February 16th during the tutorial.

U Waterloo SE1 (Winter 2006) – p.45/55

slide-46
SLIDE 46

Graduate Students

Yes, graduate students must do 10% more! They must give a lecture and write a report that is due the last day of class. Graduate students should send me e-mail regarding selecting a topic. All students must attend the grad lectures. The content will be

  • n the exam.

U Waterloo SE1 (Winter 2006) – p.46/55

slide-47
SLIDE 47

Course Web Page

http://www.student.cs.uwaterloo.ca/∼cs445/Winter2006 Look here for announcements, updates about the project, solution sets to old exams.

U Waterloo SE1 (Winter 2006) – p.47/55

slide-48
SLIDE 48

Course Newsgroup and Email

Course newsgroup: uw.cs.cs445 Primarily used for class announcements and questions about lecture material; not for project clarifications — questions about the projects should be directed to the TAs. E-mail to Instructor and TAs cs445@student.cs.uwaterloo.ca (read by instructors) nday@cs.uwaterloo.ca (Nancy Day) dsvetinovic@swag.uwaterloo.ca (Davor Svetinovi´ c) Note: Please send email from your Waterloo account. Email sent from non-Waterloo email accounts is likely to be filtered as spam. All email must have the subject line: [cs445] ...

U Waterloo SE1 (Winter 2006) – p.48/55

slide-49
SLIDE 49

Credits

The lecture slides and other course materials have been prepared by: Joanne Atlee (original course designer) Dan Berry Nancy Day Mike Godfrey Davor Svetinovi´ c

U Waterloo SE1 (Winter 2006) – p.49/55

slide-50
SLIDE 50

Expectations

Attend lectures Complete readings as per schedule Attend all tutorials (very important for project!) Regularly read the newsgroup Work effectively in groups of four Read the project documentation Understand all of the project you hand in

U Waterloo SE1 (Winter 2006) – p.50/55

slide-51
SLIDE 51

Questions (or Complaints)

If you have a question (or complaint) about a lecture, please direct it to the lecturer. If you have a question about a lecture, it is best to ask it during the lecture when a lot of people may benefit from the answer. If you have a project-related question (or complaint), please direct it to your Project TA. If you have a project-related question (or complaint), and your project TA cannot answer it satisfactorily, then please direct it to the Davor and Nancy.

U Waterloo SE1 (Winter 2006) – p.51/55

slide-52
SLIDE 52

First Assignment

Due: Friday 13 Jan 2006 2:00pm Form a team. Send to cs445@student.cs.uwaterloo.ca e-mail in plain ASCII (no .html, .doc, .pdf, etc. files) with the following for each team member:

  • 1. name (family“, ” private),
  • 2. student ID,
  • 3. UW userid (just one word and no “@site”), and
  • 4. preferred e-mail address

in that order on one line with a space (and no other punctuation) between each pair of items

U Waterloo SE1 (Winter 2006) – p.52/55

slide-53
SLIDE 53

First Assignment

Example: Fine, Larry 234567891 larry larry@threestooges.org Howard, Curley 345678912 curley curley@threestooges.org Howard, Moe 123456789 moe moe@threestooges.org If the message is not in the specified format, it will be returned for correction! The assignment of groups to project TA will be posted to the

  • newsgroup. Once this is done, it is your responsibility to

contact your project TA and arrange a customer and TA meeting.

U Waterloo SE1 (Winter 2006) – p.53/55

slide-54
SLIDE 54

Summary

Introduction What is Software Engineering (SE)? What is Requirements Engineering (RE)? Administration Outline, format Textbooks Project, CASE tools Grading Scheme Web pages, newsgroup Required readings: None

U Waterloo SE1 (Winter 2006) – p.54/55

slide-55
SLIDE 55

Next Lecture

Topic: Requirements Elicitation Readings: Lauesen, Ch. 8 (course pack) Berry, Ignorance (course pack) QUESTIONS?

U Waterloo SE1 (Winter 2006) – p.55/55