COMP 2007 R J Walters
COMP Last time Software Engineering is important It is “soft” - Not easy Making things using an “engineering” approach Building good systems People working in teams We don’t have all the answers
COMP Today General comments on documentation Requirements
COMP Documentation Shouldn’t be an afterthought Defines your process Includes: Requirements Design Code Testing User manuals Other things
COMP Documentation You have already seen what you need UML Remember what you are doing it for So you know what you are doing Smooth operation of your team So others can see what you did An aid to maintenance Because the clients asked for it
COMP Documentation - style High/low ceremony Do you want/need copious supporting evidence for everything? Would something informal be appropriate? Something in between? Fix it up later? “Faking it” A Rational Design Process: How and why to fake it - David L. Parnas (and others)
COMP
Requirements Why do they matter? What are they? Techniques
COMP Why do requirements matter? Starting point for what you are going to make Form the basis of your contract with the client They are what you test against
COMP What are requirements? The definition of what the required system should do Who it is for, what it does, what it looks like, what it does who will use it … Don’t forget Non Functional Requirements …
COMP Techniques You have seen this before In UML Use cases Sequence diagrams … Other methods possible Structured English
COMP Where does it go wrong? Clients and developers struggle to communicate Clients ask for what they think you can deliver Developers offer what they think the client wants Moving target Need for management
COMP Spiral model fits here Diagram by from Software Engineering 7 by Ian Sommerville
COMP Requirements - Observations Historically there wasn’t much need First machines built to solve specific problems (Eniac, Colossus) Done badly (or not at all) Lack of clarity and precision Misunderstandings Errors Creep
COMP Summary Software Engineering is … Documentation Requirements
COMP Questions? Suggested reading Your UML reference Software Engineering, 7th Edition, Ian Sommerville Software Engineering: A Practitioner's Approach, Roger Pressman
COMP