480 likes | 607 Views
Software Requirements. Course Requirements. The Problem. I know you think you understand what I said, but what you don’t understand is what I said is not what I mean. Deciding What To Build.
E N D
The Problem I know you think you understand what I said, but what you don’t understand is what I said is not what I mean.
Deciding What To Build The hardest single part of building a software system is deciding what to build. No part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.” Fred Brooks
Deciding What to Build The seeds of major software disasters are usually sown in the first three months of commencing the software project. • Capers Jones
What is Requirement Analysis? It is the elicitation, analysis, specification, and validation of software requirements
What are Requirements? • Product requirements • Functional requirements • Nonfunctional requirements • Process requirements
Requirements must be quantifiable • Measurable? • “It must work well” • “It must flag students with overloads” • “It must be reliable” • “it must be user-friendly” • “it must be accurate to within 1%”
Why is requirements gathering so difficult? The functioning of users, business processes, and devices is typically complex. By extension, therefore, the requirements on particular software are typically a complex combination of requirements from different people at different levels of an organization and from the environment in which the software will operate. • SWEBOK 2-1
Stakeholders • Who are the stakeholders?
Stakeholders • Who are the stakeholders?
Stakeholders Put three stakeholders in a room and ask them what kind of system they want. You are likely to get four or more different opinions. • Author unknown
Requirements Elicitation • What is requirements elicitation? • What makes it challenging? • Where does the data come from?
Requirements Elicitation • What is requirements elicitation? • What makes it challenging? • Where does the data come from?
Requirements Elicitation • What is requirements elicitation? • What makes it challenging? • Where does the data come from?
Requirements Elicitation • What are some data gathering techniques? • Not including torture
Requirement Elicitation Final products • Statement of need and feasibility • Statement of scope • List of stakeholders • Description of technical environment of system • List of requirements (organized by function) • Usage scenarios and prototypes
Requirements Analysis [Analysis] is frustrating, full of complex interpersonal relationships, indefinite, and difficult. In a word, it is fascinating. Once you’re hooked, the old easy pleasures of system building are never again enough to satisfy you. Tom DeMarco
How can we understand the requirements well? Through the use of models
Use-Cases Activity
Is This Grace? For we have been consumed by Your anger And by Your wrath we have been dismayed. You have placed our iniquities before You, Our secret sins in the light of Your presence. For all our days have declined in Your fury; We have finished our years like a sigh. - Psalms 90:7-9
God’s Extreme Grace For their mother has played the harlot; She who conceived them has acted shamefully. For she said, “I will go after my lovers, Who give me my bread and my water, My wool and my flax, my oil and my drink.” Therefore, behold, I will hedge up her way with thorns, And I will build a wall against her so that she cannot find her paths. She will pursue her lovers, but she will not overtake them; And she will seek them, but will not find them. Then she will say, “I will go back to my first husband, For it was better for me then than now!” • Hosea 2:5-7
The Blessing of Curses Sometimes the only blessing that we allow God to give us is curses
Wrath: God’s Extreme Grace • For we will surely die and are like water spilled on the ground which cannot be gathered up again. Yet God does not take away life, but plans ways so that the banished one will not be cast out from him. • 2 Samuel 14:14 • Those whom I love, I reprove and discipline; therefore be zealous and repent. • Revalation 3:19 • Behold, I will gather them out of all the lands to which I have driven them in My anger, in My wrath and in great indignation; and I will bring them back to this place and make them dwell in safety. • Jeremiah 32:37
Wrath: God’s Extreme Grace The devil’s curses destroy but God’s wrath purifies
Definition of Wrath Wrath is God packaging up the curses that we have chosen for ourselves in such a way that they serve to help us come back to Him Wrath is God using the devil’s curses to bless us
Definition of Wrath Come, let us return to the Lord. He has torn us to pieces but he will heal us; he has injured us but he will bind up our wounds. - Hosea 6:1
Activity Diagrams Flowchart diagrams that give a visual representation of the flow of interaction in use-case scenarios
Class diagrams Object-oriented analysis
Software Requirements Specification • The System Definition Document • The System Requirements Specification • The Software Requirements Specification
Software Requirements Specification • The System Definition Document • The System Requirements Specification • The Software Requirements Specification
Practical Considerations • Iterative nature of requirements process • Change management • Requirements attributes • Requirement tracing • Measuring requirements