DOC PREVIEW
DREXEL CS 451 - _L5a -- Requirements Engineering(1)

This preview shows page 1-2-3-22-23-24-44-45-46 out of 46 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 451 Software Engineering Requirements EngineeringObjective of Requirements EngineeringThe Role of Requirements EngineeringWhat is a Requirement ?Definition vs. SpecificationDefinition vs. Specification (cont’d)Functional vs. Non-Functional RequirementsFunctional vs. Non-Functional Requirements (cont’d)Requirements Engineering ActivitiesRequirements Engineering Activities (cont’d)InceptionEliciting RequirementsEliciting Requirements (cont’d)Elicitation Work ProductsElicitation Work Products (cont’d)Building the Analysis ModelNegotiating RequirementsValidating RequirementsValidating Requirements (cont’d)Requirements DocumentRequirements Document StructureWriting RequirementsRequirements for Requirements DocumentsRequirements for Requirement Documents (cont’d)Requirements MeasuresCharacteristics of Good RequirementsCharacteristics of Good Requirements (cont’d)Characteristics of Good Requirements (cont’d)Characteristics of Good Requirements (cont’d)Slide 30The 7 sins of the SpecifierThe 7 sins of the Specifier (cont’d)The 7 sins of the Specifier (cont’d)Naur’s original statementFor example…Goodenough’s and Gerhart’s workProblems identified (partial list)Goodenough & Gerhart’s versionGoodenough & Gerhart’s version (cont’d)Issues with the specificationIssues with the specification (cont’d)Issues with the specification (cont’d)Issues with the specification (cont’d)Issues with the specification (cont’d)Issues with the specification (cont’d)In summary…CS 451Software EngineeringRequirements Engineering1Adapted from Pressman: Software Engineering - A Practitioner’s Approach2Objective of Requirements EngineeringDefine the problem being solved! Define the functional and non-functional requirements of the system so that:–clients know what they are getting, and –designers, developers, testers, etc., have an unambiguous view of what needs to be done. #3The Role of Requirements Engineering•An essential part of a successful software development project (regardless of the process model used).–Although RE activities may be abbreviated, they cannot be eliminated.4What is a Requirement ?•It may range from a high-level abstract statement of a service (or of a system constraint) to a detailed mathematical functional specification. –May be the basis for a bid for a contract (open to interpretation)–May be the basis for the contract itself (defined detailed)5Definition vs. Specification•Requirements Definition:–Customer-oriented description of the system’s functions and constraints on its operation•Requirements Specification:–Precise and detailed description of the system’s functionality and constraints.–Intended to communicate what is required to system developers and serve as the basis of a contract.–Written for technical audience.6Definition vs. Specification (cont’d)•Definition:1. LIBSYS shall keep track of all data required by copyright licensing agencies.•Specification:1.1 On making a request for a document from LIBSYS, the requestor shall be presented with a form that records details of the user and the request made.1.2 LIBSYS request forms shall be stored on the system for 5 years from the date of the request.1.3 All LIBSYS request forms must be indexed by user, by the name of the material requested, and by the supplier of the request.7Functional vs. Non-Functional Requirements•Functional–The user shall be able to search either all of the initial set of databases or select a subset from it.–The system shall provide the viewers Read-A-Document and DocumentViewer for the user to read documents in the document store. –Every order shall be allocated a unique identifier (ORDER_ID) which the user shall be able to copy to the account’s permanent storage area.8Functional vs. Non-Functional Requirements (cont’d)•Non-Functional–The user interface shall be implemented as simple HTML without frames or Java applets. [Product]–The system development process and deliverable documents shall conform to the process and deliverables defined in XYZCo-SP-STAN-95. [Organizational]–The system shall not disclose any personal information about customers apart from their name and reference number to the operators of the system. [External]9Requirements Engineering Activities•Inception—ask a set of questions that establish …–basic understanding of the problem–the people who want a solution–the nature of the solution that is desired, and –the effectiveness of preliminary communication and collaboration between the customer and the developer.•Elicitation—elicit requirements from all stakeholders.•Elaboration—create an analysis model that identifies data, function and behavioral requirements.•Negotiation—agree on a deliverable system that is realistic for developers and customers.10Requirements Engineering Activities (cont’d)•Specification—can be any one (or more) of the following:–A written document–A set of models–A formal, mathematical description–A collection of user scenarios (use-cases)–A prototype•Validation—a review mechanism that looks for–errors in content or interpretation–areas where clarification may be required–missing information–inconsistencies (a major problem when large products or systems are engineered)–conflicting or unrealistic (unachievable) requirements. •Requirements management11Inception•Identify stakeholders–“who else do you think I should talk to?”•Recognize multiple points of view•Work toward collaboration•The first questions–Who is behind the request for this work?–Who will use the solution?–What will be the economic benefit of a successful solution–Is there another source for the solution that you need?12Eliciting Requirements•Meetings are conducted and attended by both software engineers and customers.•Rules for preparation and participation are established.•An agenda is suggested.•A "facilitator" (can be a customer, a developer, or an outsider) controls the meeting.•A "definition mechanism" (can be work sheets, flip charts, or wall stickers or an electronic bulletin board, chat room or virtual forum) is used.13Eliciting Requirements (cont’d)•The goals are:–identify the problem–propose elements of the solution–negotiate different approaches, and–specify a preliminary set of solution requirements14Elicitation Work Products•A statement of need and


View Full Document

DREXEL CS 451 - _L5a -- Requirements Engineering(1)

Download _L5a -- Requirements Engineering(1)
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view _L5a -- Requirements Engineering(1) and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view _L5a -- Requirements Engineering(1) 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?