DOC PREVIEW
USC CSCI 578 - 23_Intro_to_DSSE

This preview shows page 1-2-3-18-19-37-38-39 out of 39 pages.

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

Unformatted text preview:

Intro to Domain-Specific Software EngineeringObjectivesSlide 3Domain-Specific Software EngineeringExamples of DomainsTraditional Software EngineeringArchitecture-Based Software EngineeringSlide 8Three Key Factors of DSSEThree Key FactorsSlide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Becoming More ConcreteDomain ModelSlide 20Slide 21Slide 22Slide 23Slide 24(Partial) Domain DictionaryInfo Model: Context Info DiagramInfo Model: Entity-Relationship DiagramInfo Model: Object DiagramFeature Model: Feature Relationship DiagramFeature Model: Use Case DiagramFeature Model: Representation DiagramOperational Model: Data Flow DiagramOperational Model: Control Flow DiagramOperational Model: State Transition DiagramReference RequirementsDomain-Specific Software ArchitectureReference ArchitectureDifferent Kinds of Reference ArchitectureExample Reference ArchitectureCopyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.Intro to Domain-Specific Software EngineeringSoftware ArchitectureLecture 232Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureObjectivesConceptsWhat is domain-specific software engineering (DSSE)The “Three Lampposts” of DSSE: Domain, Business, and TechnologyDomain Specific Software ArchitecturesProduct LinesRelationship between DSSAs, Product Lines, and Architectural StylesExamples of DSSE at work3Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureObjectivesConceptsWhat is domain-specific software engineering (DSSE)The Three Key Factors of DSSE: Domain, Business, and TechnologyDomain Specific Software ArchitecturesProduct LinesRelationship between DSSAs, Product Lines, and Architectural StylesExamples of DSSE at work4Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDomain-Specific Software EngineeringThe traditional view of software engineering shows us how to come up with solutions for problems de novoBut starting from scratch every time is infeasibleThis will involve re-inventing many wheelsOnce we have built a number of systems that do similar things, we gain critical knowledge that lets us exploit common solutions to common problemsIn theory, we can simply build “the difference” between our new target system and systems that have come before5Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureExamples of DomainsCompilers for programming languagesConsumer electronicsElectronic commerce system/Web storesVideo gameBusiness applicationsBasic/Standard/“Pro”We can subdivide, too:Avionics systemsBoeing JetsBoeing 747-400Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; (C) 2008 John Wiley & Sons, Inc. Reprinted with permission.6Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureTraditional Software EngineeringOne particular problem can be solved in innumerable waysSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; (C) 2008 John Wiley & Sons, Inc. Reprinted with permission.7Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureArchitecture-Based Software EngineeringGiven a single problem, we select from a handful of potential architectural styles or architectures, and go from these into specific implementationsSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; (C) 2008 John Wiley & Sons, Inc. Reprinted with permission.8Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDomain-Specific Software EngineeringWe map regions of the problem space (domains) into domain-specific software architectures (DSSAs)These are specialized into application-specific architecturesThese are implementedSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; (C) 2008 John Wiley & Sons, Inc. Reprinted with permission.9Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureThree Key Factors of DSSEDomainMust have a domain to constrain the problem space and focus developmentTechnologyMust have a variety of technological solutions—tools, patterns, architectures & styles, legacy systems—to bring to bear on a domainBusinessBusiness goals motivate the use of DSSEMinimizing costs: reuse assets when possibleMaximize market: develop many related applications for different kinds of end users10Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDomain BusinessTechnologyThree Key FactorsDomainMust have a domainto constrain the problem space and focus development11Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDomain BusinessTechnologyThree Key FactorsTechnologyMust have a variety of technological solutions—tools, patterns, architectures & styles, legacy systems—to bring to bear on a domain12Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDomain BusinessTechnologyThree Key FactorsBusinessBusiness goals motivate the use of DSSEMinimizing costs: reuse assetswhen possibleMaximize market: develop many related applications for different kinds of end users13Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDomain BusinessTechnologyThree Key FactorsDomain + Business“Corporate CoreCompetencies”Domain expertiseaugmented bybusinessacumen andknowledge ofthe market14Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDomain BusinessTechnologyThree Key FactorsDomain + Technology“Application FamilyArchitectures”All possibletechnologicalsolutions toproblems in adomainUninformed and unconstrained bybusiness goalsand knowledge15Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDomain BusinessTechnologyThree Key FactorsBusiness + Technology“Domain independentinfrastructure”Tools andtechniques forconstructingsystems independent of anyparticular domainE.g., most generic ADLs, UML, compilers, word processors, general-purpose PCs16Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDomain BusinessTechnologyThree Key FactorsDomain + Business +


View Full Document

USC CSCI 578 - 23_Intro_to_DSSE

Download 23_Intro_to_DSSE
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 23_Intro_to_DSSE 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 23_Intro_to_DSSE 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?