DOC PREVIEW
CORNELL CS 501 - Lecture Notes

This preview shows page 1-2-3-24-25-26 out of 26 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 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 26 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 26 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 26 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 26 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 26 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 501: Software EngineeringCourse AdministrationTechniques for Requirements Analysis and DefinitionBad Example: Decision TableGood Example: Decision TableData-Flow ModelsData-Flow Example: University AdmissionsData-Flow Example: Assemble Application StageData-Flow Example: Process Completed Application StageProcedural Models: FlowchartFlowchart: University AdmissionsProcedural Models: Pseudo-codeEntity-Relation ModelEntity-Relation DiagramExample: CS 501 ProjectExample: MARC Catalog RecordMARC Format for BooksEntity-Relation Diagram for MARCData DictionariesA Note on Object ModelsTransition DiagramsFinite State MachineState Transition DiagramState Transition TablePetri NetsPrototyping Requirements1CS 501 Spring 2003CS 501: Software EngineeringLecture 11Requirements III2CS 501 Spring 2003Course AdministrationCollect Quiz 2 after class. Also uncollected Quiz 1First Presentations and Report•Read instructions on Web site•Everybody must make at least one presentation during the semester•Remember to schedule your presentations3CS 501 Spring 2003Techniques for Requirements Analysis and Definition•A variety of tools and techniques. •Many are familiar from other courses.•There is no correct technique that fits all situations.The craft of requirements analysis and specification is to select the appropriate tool for the particular task.4CS 501 Spring 2003Bad Example: Decision TableUniversity Admission DecisionNote that the rules are vague.High SAT T F F F F FHigh grades - T F F F FSports - - T T F FRecommendations - - T F T FReject X X XAccept X X X5CS 501 Spring 2003Good Example: Decision TableUniversity Admission DecisionNote that the rules are now specific and testable.SAT > S T F F F F FGPA > G - T F F F FAthletics code =  - - T T F FRecommendations > A- - - T F T FSend rejection letter X X XSend acceptance letter X X X6CS 501 Spring 2003Data-Flow ModelsExternal entitiesProcessing stepsData stores or sourcesData flows7CS 501 Spring 2003Data-Flow Example: University AdmissionsApplicantApplicationformReceiveapplicationCompletedapplicationEvaluateRejectionAcceptance8CS 501 Spring 2003Data-Flow Example: Assemble Application StageApplicantApplicationformReceiveCompletedapplicationSupportinginformationPendingdatabaseAcknowledgmentInitiateevaluationApplicantdatabaseEvaluationrequestANDANDAcknowledgment9CS 501 Spring 2003Data-Flow Example:Process Completed Application StageRejectionEvaluationApplicantdatabaseEvaluationrequestAcceptanceFinancial aidOfferSpecialrequest10CS 501 Spring 2003Procedural Models: FlowchartOperationDecisionManual operationReport11CS 501 Spring 2003Flowchart: University AdmissionsForm receivedNew?Database recordTNotify studentF Update database Complete?Notify studentTFEvaluate12CS 501 Spring 2003Procedural Models: Pseudo-codeExample: Check project plan check_plan (report) if report (date_time) > due_date_time then error (too_late) if report (client) = none then error (no_client) if report (team) < min_team or > max_team then error (bad_team) if error() = none then comments = read_report (report) return (comments (text), comments (grade)) else return error()13CS 501 Spring 2003Entity-Relation ModelA Design Methodology for Relational Databases• A database of entities and relations• Tools for displaying and manipulating entity-relation diagrams• Tools for manipulating the database (e.g., as input to database design)Warning: There is much confusion about definitions and notation14CS 501 Spring 2003Entity-Relation DiagramAn entityA relation between entitiesAn entity or relation attributeAn inheritance relation15CS 501 Spring 2003Example: CS 501 ProjectStudent CS501 StudentMajorProject5 to 71Member ofPersonClient1Tech contact0:n0:n0:n16CS 501 Spring 2003Example: MARC Catalog RecordCaroline R. Arms, editor, Campus strategies for libraries and electronic information. Bedford, MA: Digital Press, 1990.17CS 501 Spring 2003MARC Format for Books001 89-16879 r93245 Campus strategies for libraries and electronic information260 {Bedford, Mass.} : Digital Press, c1990.650 Academic libraries--United States--Automation.650 Libraries and electronic publishing--United States.700 Arms, Caroline R. (Caroline Ruth)18CS 501 Spring 2003Entity-Relation Diagram for MARCBookShort titleCatalog recordDescribesControl numbSubject headingIs aboutCreatorEditor ofAuthor of1:n10:n0:n0:n0:n0:n0:n19CS 501 Spring 2003Data DictionariesA data dictionary is a list of names used by the system• Brief definition (e.g., what is "date")• What is it (e.g., number, relation)• Where is it used (e.g., source, used by, etc.)• May be combined with a glossaryAs the system is implemented, the data dictionary in the requirements is input to the system data dictionary, which is a formal part of the system specification.20CS 501 Spring 2003A Note on Object ModelsThis course teaches object models as a tool for design.Some people recommend object models for requirements definition, but it is difficult to use them without constraining the system design.21CS 501 Spring 2003Transition DiagramsA system is modeled as a set of states, Si A transition is a change from one state to another.The occurrence of a condition, Ci, causes the transition from one state to another Transition function:f (Si, Cj) = SkExampleS1S2S300011122CS 501 Spring 2003Finite State MachineExample: Therapy control console[informal description]23CS 501 Spring 2003State Transition DiagramPatientsFieldsSetup ReadyBeamonEnter EnterStartStopSelect fieldSelect patient(interlock)(ok)24CS 501 Spring 2003State Transition TableSelectPatientSelectFieldEnterokStart StopinterlockPatientsFieldsSetupReadyBeamonFieldsFieldsFieldsPatientsPatientsPatientsSetupSetupSetupReadyBeamonReady25CS 501 Spring 2003Petri NetsA Petri Net models parallelismAS1SmSSAEvent 1Event nEvent AEvent 1Event n..f(A; E) Sf(A; E1,..,En) Sf(A; E1,..,En) S1,..,Sm26CS 501 Spring 2003Prototyping RequirementsRapid prototyping: A method for specifying requirements by building a system that demonstrates the functionality of the required


View Full Document

CORNELL CS 501 - Lecture Notes

Documents in this Course
Quiz 2

Quiz 2

2 pages

Usability

Usability

31 pages

Quiz 1

Quiz 1

2 pages

Stulba;''

Stulba;''

33 pages

Load more
Download Lecture Notes
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 Lecture Notes 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 Lecture Notes 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?