22-January-2003cse403-06-FunctionalSpecs © 2003 University of Washington1 Functional Specs CSE 403, Winter 2003 Software Engineering

Slides:



Advertisements
Similar presentations
Essential Lifestyle Planning Facilitator Training - Day 2
Advertisements

… with apologies to those who already know all this. Tips for Teaching On-Line How to Succeed With FRED Barriers to Student Learning in an On-Line Environment.
“Quick-Fix” Workshop Communication Centre
Sharif University of Technology Session # 2.  Contents  Structured analysis and design  Information system development  Systems Analysis and Design.
Chapter 4 Design Approaches and Methods
Bring Success in Beliefs. You don’t have to wait for someone to accept, to promote, to select... to somehow "discover." Access is nearly unlimited;
ENGLISH 8 The Art of Revision. Revision vs. Editing Revision = changing the content of what you are writing  Example: Adding a detail is revision. Editing.
Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
WRITING CRITIQUE GROUP GUIDELINES Writing responses to your group members’ work and receiving responses from others is the most important step in revising.
Gorilla Systems Engineering versus Guerilla Systems Engineering Keith A. Taggart, PhD James Willis Steve Dam, PhD Presented to the INCOSE SE DC Meeting,
Everything you need to know in order to set up your Reader’s Notebook
At the end of this lesson you will be able to:
Tietojärjestelmien peruskurssi Software engineering Malin Brännback.
24-January-2003cse SystemRequirements © 2003 University of Washington1 System Requirements CSE 403, Winter 2003 Software Engineering
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
Administrivia Lifecycle Architecture (LCA) group assignment will go out later today. Informal feedback meetings with LCO groups EasyShare: Mon, 2:45pm-3:15pm,
1 Jul 2005CSE403, Summer'05, Section 02 Section 02: Life Cycle Architecture Review Valentin Razmov.
CSC 395 – Software Engineering Lecture 21: Overview of the Term & What Goes in a Data Dictionary.
19-February-2003cse LCA © 2003 University of Washington1 Architecture Milestone CSE 403, Winter 2003 Software Engineering
17-January-2003cse ProjectConcepts © 2003 University of Washington1 Project Concepts CSE 403, Winter 2003 Software Engineering
Story Boards. Creating and using storyboards Storyboards are an essential tool when designing websites. They help keep developers and graphic artists.
Test Taking Tips How to help yourself with multiple choice and short answer questions for reading selections A. Caldwell.
1 CS101 Introduction to Computing Lecture 24 Design Heuristics.
1 KAN’S INTRO AND OVERVIEW MODELS Ch1 & 2 in his book Steve Chenoweth, CSSE.
Chapter 6- Listening and Responding to others
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
CPTE 209 Software Engineering Summary and Review.
Giving Good Talks Isn’t as Hard as it Looks Juan Meza Lawrence Berkeley National Laboratory
CS3300 Fall 2015 Software Development Lifecycles.
15 Improve Your Life!!! Tips. Be honest about what you want to achieve and who you want to become. Be honest with every aspect of your life, always. Because.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
5 Quick Tips for Perfect Relationships. Based on the book…
Detailed design – class design Domain Modeling SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Narrative Writing: An Autobiographical Incident By Alyson Dix.
1 SPMH: When things go wrong And a preview of tomorrow – See last slide CSSE579 Session 5 Part 3.
My Personal Reading Procedure. Critical Thinking  What is critical thinking???  Thinking about things beyond what is written there.  Thinking of things.
10-January-2003cse Context © 2003 University of Washington1 What is a development project? CSE 403, Winter 2003 Software Engineering
JFK-103B1W9 and JFK-103B3W9 This program is going to be used to learn about:  Decision Making Skills  Communication Skills  Team Building Skills and.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
How to Read Research Papers? Xiao Qin Department of Computer Science and Software Engineering Auburn University
1 3132/3192 User Accessibility © University of Stirling /3192 User Accessibility 2.
CSE 403 Pitching a Project Idea Reading: Pragmatic Programming Ch. 1, 10 slides created by Valentin Rasmov and Marty Stepp
02:01© hello2morrow1 Love your Architecture Alexander v. Zitzewitz blog.hello2morrow.com.
Prepared by: A. T. M. Monawer Success in EPT Listening & Speaking Reading Writing Listening &Speaking Reading Writing.
Academic Reading ENG 115.
10 Powerful Tips Improve Your Life!!!. In today’s busy world we rarely have time to focus on what can truly bring us greater meaning to our lives. We.
HOW AND WHY TO LOVE CUCUMBER By Dana Scheider. Is This Your Programming Experience?
Secure Software Development Abuse Cases Chapter 8 Rasool Jalili & M.S. Dousti Dept. of Computer Engineering Fall 2010.
Evaluating Requirements
COLD READING UNIT. WHAT DO YOU THINK ABOUT WHEN YOU HEAR “COLD READING?”
The Need for Speed! Steve Nelson. Internet Startup Failure 2000 More Internet startups failed this year than ever before Why did this happen? How can.
Software Project Management
Creating Paragraphs (and knowing when to separate them!!!)
HTML5 SEMANTICS TO OR NOT TO THAT IS THE QUESTION BY WILLIAM MURRAY.
Week # 4 Quality Assurance Software Quality Engineering 1.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
CLASSIFICATION AND DIVISION A type of analysis. Analysis Breaking something down into parts to understand or explain it better Division takes a whole.
Note taking in the research process how to make sense of what your exploring by Ms. Barnhart.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
10 Great Ways to Stop Procrastinating and Get More Done in Less Time Time Management Tips by Arman Sadeghi.
Writing FRQ’s AP US Govt. and Politics. AP Exam Format There are two parts. A multiple choice section and a FRQ section. MC section: 60 questions in 45.
In today’s lesson we will be looking at: what we mean by the software development lifecycle the phases in the lifecycle We will focus particularly on testing:
Tracking and Squashing Bugs
Section 01: Life Cycle Objectives Review
CSE 403, Software Engineering Lecture 2
Step 6: Full Life Cycle Use Case
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Software Development Life Cycle (SDLC)
Section 01: Life Cycle Objectives Review
Presentation transcript:

22-January-2003cse FunctionalSpecs © 2003 University of Washington1 Functional Specs CSE 403, Winter 2003 Software Engineering

22-January-2003cse FunctionalSpecs © 2003 University of Washington2 Readings and References References »Painless Functional Specifications, Joel Spolsky »Anchoring the Software Process, Barry Boehm, USC

22-January-2003cse FunctionalSpecs © 2003 University of Washington3 Elements of Lifecycle Objectives (LCO) Operational ConceptsWhat is it? System RequirementsWhat does it do for us? System and software architecture How? Lifecycle planWho wants it? Who'll support it? Feasibility RationaleIs this really true?

22-January-2003cse FunctionalSpecs © 2003 University of Washington4 System Requirements Essential features of the system »defined at a level appropriate to the spin cycle »capabilities, interfaces, reliability levels, appearance »Easy to change early on, grows increasingly more difficult Customer’s involvement very important »they know the domain of interest far better than you do »what fits with their daily work and life patterns »what might the future bring Neither you nor the customer know everything »try to build joint ownership of the process »open communication can make change more acceptable

22-January-2003cse FunctionalSpecs © 2003 University of Washington5 System and Software Architecture Sufficient detail to support feasibility analysis »multiple viable choices is great at this stage »people lock on to a particular architecture very quickly and get attached to their perceived piece If you can’t define an architecture that seems to make sense, don’t ignore the problem »Basic data flow or performance problems will kill a system, no matter how many features it has »Rethink why and for whom you are doing this

22-January-2003cse FunctionalSpecs © 2003 University of Washington6 Risk Reduction “Failing to write a spec is the single biggest unnecessary risk you take in a software project” »Joel Spolsky The act of writing the spec -- describing how the program works [from user perspective] in minute detail -- will force you to actually design the program »you get a chance to see the potholes before you fall in »you get a chance to back up and change your mind before you’ve written thousands of lines of code

22-January-2003cse FunctionalSpecs © 2003 University of Washington7 Once in motion, ideas stay in motion People get attached to their creations »if it’s just a paragraph or two, it’s easy to change »if it’s pages and pages, it’s hard to change Nobody wants to throw out hard work »even if the problem it solves is now irrelevant! »it feels like criticizing, instead of discussing Architects get blinders very quickly »if we take that approach, then my group won’t be needed at all on this project  that’s a bad approach

22-January-2003cse FunctionalSpecs © 2003 University of Washington8 Specs as Communication Support It’s always amazing how: »people hear and remember some things »people hear and don’t remember other things »two people hear exactly the same thing and remember something completely different Write stuff down, then point to it when needed »single source of information »fantasy reduction benefits are huge but remember, specs are a tool, not a magic elixer

22-January-2003cse FunctionalSpecs © 2003 University of Washington9 Face the problems early Writing an outline of program features makes you think about the high level areas of interest »Can’t overlook major functional areas Writing the details makes you think about how you are going to do these things »Can’t overlook major architectural defects While you’ve still got time, you can toss the early architecture and replace it completely

22-January-2003cse FunctionalSpecs © 2003 University of Washington10 What’s in the spec? An author »Take responsibility for your work Scenarios »Let the customers see these ideas in action Non-goals »Eliminate the “implied” goals Overview »Elevator pitch with a drawing or two

22-January-2003cse FunctionalSpecs © 2003 University of Washington11 What else is in the spec? Details of operation from user perspective »what’s it look like to the various users »what happens during overload, weekends »general performance parameters »typical equipment requirements Open issues »state them explicitly Side notes »for different reader communities

22-January-2003cse FunctionalSpecs © 2003 University of Washington12 Spolsky’s Rules for Writing Be funny »be specific, people love it and will discuss it Be understandable »a customer who understands will help you succeed Write as simply as possible Review and reread Templates considered harmful »an entry to fix every oversight in the last 5 years