210 likes | 233 Views
Software Requirements. The starting point of software development “He kept changing the requirements on us”. Stellman&Greene – ch 10:1, 2. Responsibility Authority Accountability. Stellman&Greene – ch 10:1, 2. Visibility – how do we accomplish this for the team?. Lab Sep 11 and 12.
E N D
Software Requirements The starting point of software development “He kept changing the requirements on us” 540f07tmproj6sep11
Stellman&Greene – ch 10:1, 2 Responsibility Authority Accountability 540f07tmproj6sep11
Stellman&Greene – ch 10:1, 2 Visibility – how do we accomplish this for the team? 540f07tmproj6sep11
Lab Sep 11 and 12 I will meet with each team individually I will try to answer questions 540f07tmproj6sep11
Requirements Elicitation • Three types of questions • Context of system • Understanding of system • Effectiveness of the meeting 540f07tmproj6sep11
Context of System • Who is behind the request • Who will use the system • What will be the economic benefit 540f07tmproj6sep11
Understanding of system • How to characterize good output • What problems will the solution address • Describe the business environment • Any special performance issues or constraints 540f07tmproj6sep11
Effectiveness of meeting • Are you the right person • Are my questions relevant • Am I asking too many questions • Can anyone else provide additional info • Should I be asking you anything else 540f07tmproj6sep11
Requirements Tasks • Elaboration • Negotiation • Specification • Validation 540f07tmproj6sep11
Playing roles • Divide team – one half users, one half software engineers • The users are not to “initiate” requirements, only to answer questions. • Elicit requirements for a robotic system to welcome guests to an engineering college reception 540f07tmproj6sep11
Software Process • a process model depicts the tasks that are done to achieve software development • process models usually depict • Actions (Tasks) • Artifacts (files,data,etc) • Actors • decisions (optional) 540f07tmproj6sep11
Process Segment 540f07tmproj6sep11
Purpose of Process Models • Understanding of what is (should be) done • training • management • Automation • clerical • analysis 540f07tmproj6sep11
Software Life Cycle (SLC) formalizing the process of software development 540f07tmproj6sep11
Software Crisis • Software is delivered over-budget, late, and not correct • software complexity • programmer productivity • DeMarco’s (IEEE Software Apr 94) • only too costly because they would like to pay less • only late because they want it sooner 540f07tmproj6sep11
Future of Software • increasing complexity • increasing criticality 540f07tmproj6sep11
How to achieve quality • Top-down • through software life cycle • through quality improvement • see Dilbert • Bottom-up • Personal Software Process 540f07tmproj6sep11
SLC Models Iterative Spiral Incremental 540f07tmproj6sep11
Journaling – due 11 am Tues, sep 18 Write definitions of the major types of software life cycles: waterfall, spiral, iterative, incremental, and formal The definitions should clearly distinguish between the major types Additionally, identify characteristics of each. For example, when are requirements set, when is the first version delivered. 540f07tmproj6sep11
Team leader interviews The team leader must meet privately with each team member. The meeting should cover concerns, abilities, and anything relevant to the team participation. The team leader must submit a report indicating when and where each meeting was held and a short summary of the discussion This is due, via email, by Fri, Sep 21 540f07tmproj6sep11
Coming Soon • TL interviews due 9/21 via email • Reading for Thursday – S&G ch 6 Soft Req • No class or lab Tues, 9/18 (job fair), no lab wed, 9/19 • Upload by Tuesday, 9/16 – software life cycle assignment 540f07tmproj6sep11