150 likes | 155 Views
Learn about the process of requirements gathering and the various UP artifacts used in software development. Understand the importance of functional and non-functional requirements, and discover the key elements of the UP methodology.
E N D
Requirements http://flic.kr/p/3abHsY
For those following along in the book… I will postpone introducing the case studies (Ch. 3)until we’re going to use them However, I will point out one thing… http://flic.kr/p/anWc2v
For those following along in the book… I’m skipping Ch. 4:In this course, we will develop iteratively, but will not pay much attention to the UP phases http://flic.kr/p/anWc2v
For those following along in the book… That brings us to Requirements (Ch. 5)! http://flic.kr/p/anWc2v
Requirements: capabilities and conditions to which the system must conform UP best practicemanage requirements: systematically find, document, organize, and track the changing requirements of a system
Recall: We collect requirements iteratively • Get the most “important” ones first • Expect change Statistic: Actual use of waterfall req. Statistic: 25% change in requirements
FURPS+ Classification of Requirements • Functional: features, capabilities, security • Usability: human factors, help, documentation • Reliability: frequency of failure, recoverability, predictability • Performance: response times, throughput, accuracy, availability, resource usage • Supportability: adaptability, maintainability, internationalization, configurability
And here’s the + • Implementation: resource limitations, languages and tools, hardware • Interface: constraints imposed by interfacing with external systems • Operations: system management in its operational setting • Packaging: for example, a physical box • Legal: licensing, etc.
Lists of definitions like this can be a bit tedious(SE is certainly full of them) Their main benefit is as a checklist,so you don’t forget anything important
Speaking of definitions… Quality attributes: the “-ilities”, such as usability, reliability, performance Non-functional requirements: everything other than the functional req. (duh)
Time for an activity:Gathering requirements http://flic.kr/p/5dfuqL
UP Requirements Artifacts • Use-case model: (we’ll discuss in a minute, but primarily functional req.) • Supplementary specification: non-functional req. and functional req. that don’t fit in UCs • Glossary: Terms and definitions (surprisingly important!) • Vision: Overview of requirements focused on the business case for the system • Business rules: Rules and laws from the problem domain that must be followed http://flic.kr/p/6meLX
Note: UP is slippery All the aforementioned artifacts are optional You can also add others, such as user stories
Summary • Incremental requirements gathering • FURPS+ • UP requirements artifacts