Software Architectures Chapter 1: IntroductionOverviewConcepts of Software ArchitecturesThe HTSS Software ArchitectureThe Software Architecture for JavaOS for Business Operating SystemThe JavaOS Software ArchitectureJava VisualizationThe Multiple Backend Database System (MBDS) Software ArchitectureThe MBDS ProcessesMultiple Processes in MBDS What are MBDS Messages?Multiple Processes in MBDS Sample Processing of Retrieve RequestUML Diagrammatic RepresentationsComponent DiagramDeployment DiagramCollaboration DiagramStatechart DiagramActivity DiagramAugmenting Diagrammatic RepresentationsSoftware Design LevelsSoftware Engineering - an Oxymoron?What is Engineering?What about Software Engineering?Engineering + ScienceWhat's Available to Support Engineering of Software?Engineering Success in ComputingHistory of ProgrammingNext GenerationCurrent GenerationWhat's Next Step?Potential Development BenefitsPotential Reuse/Maintenance BenefitsConcluding RemarksSWA-1.1CSE333Software ArchitecturesSoftware ArchitecturesChapter 1: IntroductionChapter 1: IntroductionProf. Steven A. Demurjian, Sr.Computer Science & Engineering DepartmentThe University of Connecticut191 Auditorium Road, Box U-155Storrs, CT [email protected]://www.engr.uconn.edu/~steve(860) 486 - 4818Copyright © 2002 by S. Demurjian, Storrs, CT.SWA-1.2CSE333OverviewOverviewConcept Overview and Sample ArchitecturesConcept Overview and Sample ArchitecturesAugmenting Diagrammatic RepresentationsAugmenting Diagrammatic RepresentationsWhat isWhat isScienceEngineeringand Software Engineering?Concluding RemarksConcluding RemarksSWA-1.3CSE333Concepts of Software ArchitecturesConcepts of Software ArchitecturesExceed Traditional Algorithm/Data Structure Exceed Traditional Algorithm/Data Structure PerspectivePerspectiveEmphasize Componentwise Organization and Emphasize Componentwise Organization and System FunctionalitySystem FunctionalityFocus on Global and Local InteractionsFocus on Global and Local InteractionsIdentify Communication/Synchronization Identify Communication/Synchronization RequirementsRequirementsDefine Database Needs and DependenciesDefine Database Needs and DependenciesConsider Performance/Scaling IssuesConsider Performance/Scaling IssuesUnderstand Potential Evolution DimensionsUnderstand Potential Evolution DimensionsSWA-1.4CSE333The HTSS Software ArchitectureThe HTSS Software Architecture ICICICICCRCRCRCRCRCRCRCRILILILILILILSDOSDOSDOSDOEDOEDOEDOEDOOrderOrderPaymentPaymentItemItemItemDBItemDBLocalLocalServerServerNon-LocalClient Int.InventoryInventoryControlControlItemDBItemDBGlobalGlobalServerServerOrderDBOrderDBSupplierDBSupplierDBCreditCardDBCreditCardDBATM-BanKDBATM-BanKDBIL: Item LocatorIL: Item LocatorCR: Cash RegisterCR: Cash RegisterIC: Invent. ControlIC: Invent. ControlDO: Deli Orderer forDO: Deli Orderer for Shopper/EmployeeShopper/EmployeeSWA-1.5CSE333The Software Architecture for JavaOS for The Software Architecture for JavaOS for Business Operating System Business Operating System JSD Manages Config. JSD Manages Config. Info. IncludingInfo. IncludingPresent DevicesInstl. System ServicesUser/Group Attrs.Appl. Specific Info.JSL Loads ServicesJSL Loads ServicesJDI Interfaces to Device JDI Interfaces to Device DriversDriversJPI Device Driver APIJPI Device Driver APIJBI Interface for Startup JBI Interface for Startup and Booting of and Booting of MicrokernelMicrokernelEvent System Similar to Event System Similar to Java EventsJava EventsSWA-1.6CSE333The JavaOS Software ArchitectureThe JavaOS Software ArchitectureSWA-1.7CSE333Java Visualization Java VisualizationSWA-1.8CSE333The Multiple Backend Database System The Multiple Backend Database System (MBDS) Software Architecture(MBDS) Software ArchitectureDatabaseControllerBackendDatabase ProcessorBackendDatabaseProcessorBackendDatabase ProcessorHost/UserSWA-1.9CSE333The MBDS ProcessesThe MBDS ProcessesGet Msg.Put Msg.RequestPreparationPost ProcessingGet Msg. Put Msg.DirectoryManagementRecord ProcessingConcurrencyControlDisk I/ODatabaseControllerBackendDatabase ProcessorSWA-1.10CSE333Multiple Processes in MBDSMultiple Processes in MBDSWhat are MBDS Messages?What are MBDS Messages?No. Type SRC DST1 New Request Host ReqP2 Results of Request PoPr Host3 Number of Reqs in Transaction ReqP PoPr4 Aggregate Operators (Sum, etc.) ReqP PoPr6 Parsed Request to Backends ReqP DM12 Backend Aggregate Operator Results RecP PoPr15 Ids for Accessing Database Indexes DM DMs16 Request and Disk Addresses DM RecP21 Ids for Accessing Database Records DM CC22 Locks Obtained: Okay to Execute CC RecP23 Request ID of Finished Request RecP CCSWA-1.11CSE333Multiple Processes in MBDSMultiple Processes in MBDSSample Processing of Retrieve RequestSample Processing of Retrieve RequestGet Msg.Put Msg.RequestPreparationPost ProcessingGet Msg. Put Msg.DirectoryManagementRecord ProcessingConcurrencyControlDisk I/OF15 FromOtherBackendE15 To Backend(s) A1B3C4D6D6,F15 E15G21H22I16J23K12K12K12SWA-1.12CSE333UML Diagrammatic RepresentationsUML Diagrammatic RepresentationsComponent Diagram: Captures the Physical Component Diagram: Captures the Physical Structure of the ImplementationStructure of the ImplementationDeployment Diagram: Captures the Topology of a Deployment Diagram: Captures the Topology of a System’s HardwareSystem’s HardwareCollaboration Diagram: Captures Dynamic Collaboration Diagram: Captures Dynamic Behavior (Message-Oriented)Behavior (Message-Oriented)State Chart Diagram: Captures Dynamic Behavior State Chart Diagram: Captures Dynamic Behavior (Event-Oriented)(Event-Oriented)Activity Diagram: Captures Dynamic Behavior Activity Diagram: Captures Dynamic Behavior (Activity-Oriented)(Activity-Oriented)SWA-1.13CSE333Component DiagramComponent DiagramSWA-1.14CSE333Deployment DiagramDeployment DiagramSWA-1.15CSE333Collaboration DiagramCollaboration DiagramSWA-1.16CSE333Statechart DiagramStatechart DiagramSWA-1.17CSE333Activity DiagramActivity DiagramSWA-1.18CSE333Augmenting Diagrammatic Augmenting Diagrammatic RepresentationsRepresentationsDiagrams are Not Standalone ArtifactsDiagrams are Not Standalone ArtifactsDiagrams are Supplemental Tool Diagrams are Supplemental Tool Important Tool in Overall
View Full Document