Example: stock market

SWE 621: Software Design Lecture Notes on Software Design

1 Copyright 2002 Hassan GomaaSWE 621: Software DesignLecture Notes on Software DesignSpring Semester 2002 Hassan GomaaDept of Information & Software EngineeringGeorge Mason UniversityFairfax, VACopyright 2002 Hassan GomaaAll rights reserved. No part of this document may be reproduced in any form or by any means, without the prior written permission of the electronic course material may not be distributed by e-mail or posted on any other World Wide Web site without the prior written permission of the 2002 Hassan GomaaSWE 621: Software DesignTable Of Contents -1 Introduction to Software Design Overview of Software Design .

SWE 621: Software Design Lecture Notes on Software Design Spring Semester 2002 Hassan Gomaa Dept of Information & Software Engineering George Mason University ... Software Construction Detailed Design Internal design of individual components Design of logic and data structures Coding

Tags:

  Lecture, Notes, Design, Construction, Software, Software design lecture notes on

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of SWE 621: Software Design Lecture Notes on Software Design

1 1 Copyright 2002 Hassan GomaaSWE 621: Software DesignLecture Notes on Software DesignSpring Semester 2002 Hassan GomaaDept of Information & Software EngineeringGeorge Mason UniversityFairfax, VACopyright 2002 Hassan GomaaAll rights reserved. No part of this document may be reproduced in any form or by any means, without the prior written permission of the electronic course material may not be distributed by e-mail or posted on any other World Wide Web site without the prior written permission of the 2002 Hassan GomaaSWE 621: Software DesignTable Of Contents -1 Introduction to Software Design Overview of Software Design .

2 6 Software Design 11 Design 28 Introduction to Software Design Survey of Software Design Structured Jackson System ..70 Naval Research Lab Early Object-Oriented ..81 Comparison of Software Design 2002 Hassan GomaaSWE 621: Software DesignTable Of Contents -2 Object-Oriented Analysis and Object-Oriented Software Life Use Case 105 Static ..112 Object ..123 Finite State 136 Dynamic 155 Case Study: Banking ..1664 Copyright 2002 Hassan GomaaSWE 621: Software DesignTable Of Contents -3 Concurrent Object-Oriented Design Introduction to Software Architecture Design .

3 182 Architectural Design of Distributed Task Class Design ..219 Detailed Software Design ..237 Banking System Case Introduction to Architecture and Design Relational Database 2002 Hassan GomaaSWE 621: Software DesignCourse Content Introduction to Software Design Software Design Process Design Concepts Introduction to Software Design Methods Survey of Software Design Methods Object-Oriented Analysis and Modeling Method Object-Oriented Design Method Course Review6 Copyright 2002 Hassan GomaaSoftware DesignWhat is Design ?

4 Noun: mental plan, preliminary sketch or outlineverb: to conceive in the mind; to inventWhat is Software Design ?As a productOutput of Design processAs a processApproach to doing design7 Copyright 2002 Hassan GomaaArchitectural designStructure system into componentsDefine the interfaces between componentsDetailed Design of each componentDefine internal logicDefine internal data structuresData designDefine file structuresLogical database designSoftware Design Activities 8 Copyright 2002 Hassan GomaaSoftware DesignSoftware Requirements SpecificationEnvironmental ConstraintsDesign ConstraintsArchitectural DesignDetailed DesignDesign

5 DecisionsTraces to RequirementsSoftwareDesignProcess9 Copyright 2002 Hassan GomaaSoftware requirements specificationDescribes WHAT system shall do not HOWE xternal view of system to be developedEnvironmental constraintsHardware, language, system usageDesign constraintsDesign methodDesign notationInputs To Software Design10 Copyright 2002 Hassan GomaaOutputs From Software DesignArchitectural DesignOverall description of Software structureTextual and GraphicalSpecification of Software components and their interfacesData DesignDetailed Design of each componentInternal logicInternal data structuresDesign decisions madeDesign rationaleTraces to requirements11 Copyright 2002 Hassan GomaaSoftware Design ProcessReference.

6 Gomaa text, Chapter 5 Software life cycle ( Software process)Phased approach to Software developmentSoftware life cycle ( process) modelsWaterfall limitations of Waterfall ModelIncremental - evolutionary prototypingExploratory - throwaway prototypingSpiral model risk driven process model12 Copyright 2002 Hassan GomaaSoftware Life CycleWaterfall ModelRequirementsAnalysis &SpecificationArchitecturalDesignDetaile dDesignCodingUnitTestingIntegrationTesti ngSystem & AcceptanceTesting13 Copyright 2002 Hassan GomaaSoftware Life Cycle ModelSoftware DefinitionRequirements Analysis and SpecificationAnalysis of user's problemSpecification of "what" system shall provide

7 UserArchitectural DesignSpecification of "how" system shall be structured into componentsSpecification of interfaces between componentsData Design14 Copyright 2002 Hassan GomaaSoftware Life Cycle ModelSoftware ConstructionDetailed DesignInternal Design of individual componentsDesign of logic and data structuresCodingMap component Design to codeUnit TestingTest individual components15 Copyright 2002 Hassan GomaaSoftware Life Cycle ModelSoftware Integration and TestIntegration TestingGradually combine components and test combinationsSystem TestingTest of entire system against Software requirementsAcceptance TestTest of entire system by user prior to acceptance16 Copyright 2002 Hassan GomaaSoftware Life Cycle ModelSoftware MaintenanceModification of Software system after installationand acceptanceFix Software errorsImprove performanceAddress changes in user requirementsOften implies significant Software redesign17 Copyright 2002 Hassan GomaaLimitations of Waterfall ModelDoes not show iteration in Software life cycleDoes not show overlap between

8 PhasesSoftware requirements are tested late in life cycleOperational system available late in life cycle18 Copyright 2002 Hassan GomaaPrototyping During Requirements PhaseProblemSoftware requirements are tested late in life cycleSolutionUse throw-away prototypingHelp ensure requirements are understoodAlso first attempt at designing systemDesign of key file and data structuresDesign of user interfaceEarly Design tradeoffs19 Copyright 2002 Hassan GomaaImpact of Throwaway Prototyping on Software Life CycleRequirementsAnalysis &SpecificationArchitecturalDesignDetaile dDesignCodingUnitTestingIntegrationTesti ngSystemTestingThrowawayPrototype20 Copyright 2002 Hassan GomaaThrow-away Prototyping in DesignObjectivesTest Design earlyExperiment with alternative Design decisionsExamples of prototyping in designAlgorithm designExperiment with - speed.

9 AccuracyEarly performance analysisMeasure timing parametersUser interface21 Copyright 2002 Hassan GomaaImpact of Throwaway Prototyping on Architectural Design PhaseRequirementsAnalysis &SpecificationArchitecturalDesignDetaile dDesignCodingUnitTestingIntegrationTesti ngSystemTestingThrowawayPrototype22 Copyright 2002 Hassan GomaaIncremental DevelopmentProblemOperational system available late in life cycleSolutionUse incremental developmentAlso known as evolutionary prototypingObjectiveSubset of system working earlyGradually build onPrototype evolves into production system23 Copyright 2002 Hassan GomaaIncremental Development Software Life CycleRequirementsAnalysis &SpecificationArchitecturalDesignIncreme ntalComponentConstructionIncrementalSyst emIntegrationEvolutionaryPrototypeSystem & AcceptanceTesting24 Copyright 2002 Hassan GomaaShould Prototype Evolve intoProduction System?

10 TradeoffRapid developmentQuality of productThrow-away prototypeSpeed, not quality is goalMust not evolve into production systemEvolutionary prototypeMust emphasize qualityMaintainability is key issue25 Copyright 2002 Hassan GomaaCombined Throwaway Prototyping / Incremental DevelopmentSoftware Life Cycle ModelRequirementsAnalysis &SpecificationArchitecturalDesignIncreme ntalComponentConstructionIncrementalSyst emIntegrationEvolutionaryPrototypeSystem & AcceptanceTestingThrowawayPrototype26 Copyright 2002 Hassan GomaaSpiral Process Model (SPM)


Related search queries