DOC PREVIEW
UConn CSE 298/300 - Software Engineering

This preview shows page 1-2-3-4-5-6-7-8-9-10-11-75-76-77-78-79-80-81-82-83-84-150-151-152-153-154-155-156-157-158-159-160 out of 160 pages.

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

Unformatted text preview:

Software Engineering and Object-Oriented Design and DevelopmentOverview of PresentationWhat is Software?What is Software Engineering?Why Software Engineering?Software Engineering A Historical PerspectiveInfluences on Software EngineeringProgrammer vs. Software EngineerHow is Software Engineered? Waterfall Process ModelSoftware Lifecycle of Waterfall ModelSlide 11Relating Software Engineering and Computer Science DisciplinesSlide 13Slide 14Slide 15Relating Software Engineering to Other DisciplinesInformation SourcesMotivation and Background ConceptsInformation Engineering Challenge for 21st CenturyHow is Information Engineered?Future Design EmphasisAbstract Data Types (ADTs)Slide 23ADT Design GuidelinesObject-Oriented ParadigmCore Object-Oriented ConceptsAn Example Employee ClassModules vs. ADTs/ClassesAdvanced Object-Oriented ConceptsA Quick Look at InheritanceWhat Can Be a Class?Slide 32Client/Server Concepts and ClassesBenefits of OO ParadigmSoftware Engineering QualitiesWhat is a Software Quality?The Correctness Software QualityThe Reliability Software QualityThe Robustness Software QualityThe Performance Software QualityThe Maintenance Software QualityThe Reusability Software QualityThe Repairability Software QualityThe Evolvability Software QualityThe Portability Software QualityThe Interoperability Software QualitySoftware Engineering PrinciplesWhat are Software Principles?Separation of ConcernsModularityAbstractionAnticipation of ChangeGeneralityIncrementalityPrinciples and OO ParadigmObject-Oriented ConceptsAbstraction and ComplexityHistory of Abstraction Procedures and ModulesSlide 59Slide 60Slide 61Slide 62Slide 63Slide 64Slide 65Concepts of Transitional DesignTransitional Design - PracticeThoughts From Fred BrooksLaw of Demeter (Leiberherr, Northeastern University)Responsibility-Driven Design (Wirfs-Brock & Wilkerson, OOPSLA89)Objects vs. ADTsChoosing Objects and ClassesChoosing Objects for BlackJackObject-Oriented Design IssuesHigh-Tech Supermarket System (HTSS)The HTSS Software ArchitectureProgramming with ModulesModules in HTSSAdvantages/Drawbacks of ModulesProgramming with ADTsADTs in HTSSSlide 82Advantages/Drawbacks of ADTsSlide 84CRC Cards Class, Responsibility, CollaboratorsA CRC Card for HTSSAnother CRC Card for HTSSFlight Management ExampleCRC Cards for Flight Example One SolutionSlide 90CRC Cards for Flight Example Critiquing First SolutionAnother Solution Combine Reserve, Cancel, and IssueYet Another Solution Combine Schedule and FlightCRC Cards for Health CareCategories of Classes (See Budd, Section 3.2, pg. 48)Slide 96Categories of ClassesSlide 98Slide 99Responsibility-Driven Design Methodological IssuesEarly Stage of CRC DesignSlide 102Later Stage of CRC DesignCommon Design FlawsSlide 105Slide 106Slide 107Motivating Inheritance ConceptsMotivating InheritanceSlide 110Slide 111Defining InheritanceSlide 113The Role of InheritanceSpecialization and Generalization InheritanceExamples from HTSS Specialization and GeneralizationSpecification Inheritance & ExampleConstruction Inheritance & ExampleVariance Inheritance & ExampleCombination Inheritance & ExampleExtension Inheritance & ExampleLimitation Inheritance & ExampleBenefits of InheritanceSlide 124The Cost of InheritanceSlide 126OverloadingOverloading in a Stack ExampleOverloading in HTSImportant Implementation ConceptsSlide 131Slide 132Remaining Object-Oriented ConceptsDefining PolymorphismDefinition of Polymorphism/DispatchingIllustrating Polymorphism/DispatchingSlide 137Slide 138Slide 139Achieving Polymorphism/DispatchingSlide 141Slide 142Execution/Runtime Sequence of Polymorphism/DispatchingBenefits of Polymorphism/DispatchingGenericsA Generic Stack ClassA Generic Set ClassBenefits of GenericsFundamentals of OO Databases Article by Zdonik and MaierEssential and Frequent FeaturesThe Threshold ModelFour Critical OO ConceptsThe Reference ModelFinal Comment on Typing IssuesSlide 155SubstitutabilityMutabilityOther FeaturesHow Does Contradiction Occur?Concluding RemarksSW&OO-1.1CSE300Software Engineering andSoftware Engineering andObject-Oriented Design and DevelopmentObject-Oriented Design and DevelopmentProf. Steven A. Demurjian, Sr.Computer Science & Engineering DepartmentThe University of Connecticut371 Fairfield Road, Box U-255Storrs, CT [email protected]://www.engr.uconn.edu/~steve(860) 486 - 4818Copyright © 2000 by S. Demurjian, Storrs, CT.SW&OO-1.2CSE300Overview of PresentationOverview of PresentationMotivation and Background ConceptsMotivation and Background ConceptsSoftware Engineering Qualities and PrinciplesSoftware Engineering Qualities and PrinciplesExtensibility, Correctness, Reliability, etc.Abstraction, Modularity, Incrementality, etc.Revisiting Core Object-Oriented ConceptsRevisiting Core Object-Oriented ConceptsEncapsulation, Hiding, Inheritance, etc.Advanced Object-Oriented ConceptsAdvanced Object-Oriented ConceptsPolymorphism, Dispatching, Generics, etc.OO Design, Programming, and DatabasesOO Design, Programming, and DatabasesAssessing Available TechnologiesPredicting the FutureSummary and DiscussionSummary and DiscussionSW&OO-1.3CSE300What is Software?What is Software?Software is the Definition and Organization of a Software is the Definition and Organization of a Set of Tasks and Functionality Encapsulated into a Set of Tasks and Functionality Encapsulated into a Form that is Executable on a Computer Form that is Executable on a Computer What are Different Types of Software?What are Different Types of Software?Commercial-Off-the-Shelf (COTS)Legacy: Written in an “Old” Programming LanguageCobol, PL/1 (Y2k/SNET), Fortran, etc.C and C++!Customized New SoftwareClient vs. Server SoftwareDatabase Management Systems/ApplicationsSW&OO-1.4CSE300What is Software Engineering?What is Software Engineering?Engineering: The Application of Science to the Engineering: The Application of Science to the Solution of Practical ProblemsSolution of Practical ProblemsSoftware Engineering: The Application of CS to Software Engineering: The Application of CS to Building Practical Software Systems Building Practical Software Systems ProgrammingProgrammingIndividual Writes Complete ProgramOne Person, One ComputerWell-Defined ProblemProgramming-in-the-SmallSoftware EngineeringSoftware EngineeringIndividuals Write Program ComponentsTeam Assembles Complete


View Full Document

UConn CSE 298/300 - Software Engineering

Documents in this Course
Java Tool

Java Tool

58 pages

Load more
Download Software Engineering
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 Software Engineering 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 Software Engineering 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?