DOC PREVIEW
CORNELL CS 501 - Lecture Notes

This preview shows page 1-2-3-27-28-29 out of 29 pages.

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

Unformatted text preview:

CS 501: Software Engineering Fall 2000AdministrationWhat is in a Requirements Document?Slide 4Assignment 2 -- Individual PartsThe Waterfall ModelUseful TextsThe Importance of ModelingPrinciples of ModelingThe Unified Modeling LanguageNotation: ClassesNotation: InterfaceNotation: Collaboration & Use CaseNotation: Active ClassNotation: Component & NodeNotation: Behavioral Things: Messages & StatesNotation: Grouping and AnnotationNotation: RelationshipsNotation: Relationships (continued)Diagrams in UMLDiagrams in UML (continued)Slide 22The HelloWorld ExampleAbstraction for HelloWorldThe "Hello, World" ExampleClass DiagramClass Inheritance DiagramPackaging ClassesNotation for Classes and ObjectsCS 501: Software EngineeringFall 2000Lecture 11Object-Oriented Design I2Administration• Preparation for presentation-- Recitation Section, Monday October 2-- Not all members of team need be present • Fall Programming Contest for this year will be on October 14th, organized by the ACSU and David Kempe.http://www.cs.cornell.edu/kempe/contest/default.html3What is in a Requirements Document?Example (Web Butler and Web Site Profiler)• Run web data collection in real time or batch mode How are jobs started?• Job parameters How are the parameters set up (interactive, edit file, ...)? What are the parameters (specify)? Can job parameters be stored and used again? If so, how?• Job monitoring What feedback is given while job is running? Can the user pause or break a job? If so, are the results retained?4What is in a Requirements Document?Remember• The requirements document specifies the functionality that you plan to deliver to the client• It must be comprehensive and detailed. Everything must be written out -- no hand waving!The requirements document is likely to be several times as long as Assignment 1.5Assignment 2 -- Individual PartsOne approach:With your document, include a list of who contributed what part to the Requirements study, e.g.,Person ARequirements analysis for database design (member of team of 3), wrote Section 3.1 of document, worked with client to identify software needs.Person BPrepared visual aids for presentation, edited entire document, specified the security needs and wrote Section 4.2.6The Waterfall ModelRequirementsDefinitionImplementationand Unit TestingIntegration andSystem TestingOperation andMaintenanceSystem andSoftware design7Useful TextsGrady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language. Addison-Wesley 1999.Grady Booch, Object-Oriented Analysis and Design with Applications, second edition. Benjamin/Cummings 1994.Rob Pooley, Perdita Stevens, Using UML Software Engineering with Objects and Components. Addison-Wesley 1999.8The Importance of Modeling• A model is a simplification of reality.• We build models so that we can better understand the system we are developing.• We build models of complex system because we cannot comprehend such a system in its entirety.Models can be informal or formal. The more complex the project the more valuable a formal model becomes.BRJ9Principles of Modeling• The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped. • Every model can be expressed at different levels of precision.• The best models are connected to reality.• No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models.BRJ10The Unified Modeling LanguageUML is a standard language for modeling software systems.• Serves as a bridge between the requirements specification and the implementation.• Provides a means to specify and document the design of a software system.• Is process and programming language independent.• Is particularly suited to object-oriented program development.11Notation: ClassesWindoworiginsizeopen()close()move()display()nameattributesoperationsA class is a description of a set of objects that share the same attributes, operations, relationships and semantics.12Notation: InterfaceAn interface is a collection of operations that specify a service of a class or component, i.e., the externally visible behavior of that element.ISpelling13Notation: Collaboration & Use CasePlace orderA use case is a description of a set of sequence of actions that a system performs that yields an observable result.Chain of responsibilityA collaboration defines an interaction, i.e., a society of roles and other elements that work together to provide some cooperative behavior.14Notation: Active ClassEventManagereventlistsuspend()flush()An active class is a class whose objects own one or more processes or threads and therefore can initiate control activity.15Notation: Component & Nodeorderform.javaA component is a physical and replaceable part of a system that conforms to and provides the realization of a set of interfaces.ServerA node is a physical element that exists at run time and represents a computational resource.16Notation: Behavioral Things:Messages & StatesdisplayAn interaction is a behavior that comprises a set of messages exchanged among a set of objects within a particular context to accomplish a specific purpose. WaitingA state machine is a behavior that specifies the sequence of states an object or an interaction goes through during its lifetime in response to events.17Notation: Grouping and AnnotationA package is a general-purpose mechanism for organizing elements into groups.Business rulesreturn copy of selfA note is a symbol for rendering constraints and comments attached to an element or a collection of elements.18Notation: RelationshipsA dependency is a semantic relationship between two things in which a change to one may effect the semantics of the other.0..1 *employer employeeAn association is a structural relationship that describes a set of links, a link being a connection among objects.19Notation: Relationships (continued)A generalization is a specialization/generalization relationship is which objects of the specialized element (child) are substitutable for objects of the generalized element (parent).child parentA realization is a semantic relationship between classifiers, wherein one classifier specifies a contract that another classifier guarantees to carry out.20Diagrams in UMLA diagram is the graphical representation of a set of elements,


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?