390 likes | 404 Views
Explore key developments in software reuse, adaptation processes, and domain engineering. Learn about systematic process reuse in software development alongside organizational domain modeling for tailored frameworks. Discover guidelines for asset-based development, configurable processes, and project-specific reuse protocols.
E N D
Software Process Adaptation RiSE’s Seminars Ana Paula Cavalcanti
Summary • Introduction • Problem • State of art –overview of research • Adaptation • Bibliography
Key Developments in the Field of Software Reuse[Eduardo Almeida et al, 2006]
Towards an Effective Reuse Process[Eduardo Almeida et al., 2005]
Problem… Success and Failure Factors in Software Reuse[MAURIZIO MORISIO et al, 2002] Reuse Processes Non-reuse Processes
Software Development based on DE Domain Engineering SystemFamilyArchitecture Domain knowledge Domain Model Domain Analysis Domain Design Domain Implem. Domain-specific languages Components Generators New Requirements Custom Development Custom Design New Requirements Customer Needs Requirements Analysis Product Configuration Integration and Test Features Product Configuration Product Application Engineering
Domain Analysis – Design – Implementation Figure . Domain Analysis' approach. Problem: How adapt ? to them
Asset Based Development [Rational, 2003]
Asset Based Development • Guidelines: • Selecting Asset Based Development Tools • Preparing Project Specific Reuse Guidelines • Providing Asset-Based Development Training • Consume Assets • Applying RUP on Asset-Consuming Projects • Assessing Asset Applicability • Produce Assets Artifacts • Applying RUP on Asset-Producing Projects • Deployment Discipline on Asset Production Projects • Vision for a Reusable Asset • Architecture of a Reusable Asset
Organizational Domain Modeling - ODM [Mark Simos, 1996]
Organizational Domain Modeling • describes the Organization Domain Modeling (ODM) domain engineering method • systematize key aspects of the domain modeling process • provide an overall framework for a domain engineering life cycle • highly tailorable and configurable domain engineering process model • useful for diverse organizations and domains, • variety of software engineering processes, methods,
Organizational Domain Modeling framework tailored Specialization Instantiation Document Process History
Organizational Domain Modeling • Tailoring Transformations • Deletion • Addition • Sequencing • Renaming • Restructuring
Software Process Reuse in an Industrial [Craig Hollenbach and William Frakes, 1996]
Software Process Reuse in an Industrial [Hollenbach, 1996] • method for defining and reusing software process within an organization • Notation for Recording Reusable Processes • Context for defining and tailoring Reusable Processes {tailoring} • Method for defining reusable processes • Method for tailoring reusable processes
Software Process Reuse in an Industrial [Hollenbach, 1996] Tailoring Definition
Introducing Systematic Reuse in Mainstream Software Process [Miguel Laguna, Bruno Baixauli, Oscar López, Francisco Garcia, 1996]
Introducing Systematic Reuse in Mainstream Software Process[Miguel Laguna, et al 1996] • The authors remark that reuse should not be considered separately from software engineering, suggesting two processes: • Domain Engineering • Process Adaptation
Introducing Systematic Reuse in Mainstream Software Process[Miguel Laguna et al. 1996] Product Line Engineering Process • Phases • Disciplines
Adaptable Process Model [Roger Pressman, 2001]
Adaptable Process Model [PRESMAN, 2001] • Objective • Description • Project Types • Framework of Activities
Adaptable Process Model [PRESMAN, 2001] • Guidelines to adapt: • Selecting the task set for your project • Establishing the degree of rigor • Characterizing your project • Interpreting the TSS value • Selecting the task set
Configurable Development Process [John Cameron, 2002]
Configurable Development Process Work Product Descriptions - WPDs What ? Why Produced / Needed When How Subset of the configurable Process Framework Work Product Descriptions (WPDs)
Configurable Development Process The usual context for configuration is a project. Knowledge Management Perspective
The Impact of Software Reuse and Incremental Development on the Quality of Large Systems Doctoral Thesis [Parastoo Mohagheghi, 2004]
Reuse in Theory and Practice: A Survey of Developer Attitudes at Ericsson [MOHAGHEGHI, 2004] • [Bergström03] apud [MOHAGHEGHI, 2004] • create awareness of RUP, • assess the current situation, • motivate with a business case, • set adoption goals, • identify risks and opportunities, • make a high-level adoption plan and a communication plan, • and identify software development projects to be supported (pilot projects).
Reuse in Theory and Practice: A Survey of Developer Attitudes at Ericsson [MOHAGHEGHI, 2004]
The Socio-Cultural Environment in the Software Process Modeling [Silvia T. ACUÑA, - Graciela BARCHINI]
Adaptation Domain Engineering Domain knowledge Domain Analysis Domain Model New Requirements Domain Design SystemFamilyArchitecture Domain Implem. Organizational Politics Institutional Process Procedures Family of Processes Guidelines
References • [PRESSMAN, 2001] R.S. Pressman & Associates, Inc Adaptable Process Model • [RUP, 2003] Larsen, Grant. Asset Based Development. • [CAMERON, 2002] Cameron, J. 2002. Configurable development processes. • [HOLLENBACH, 1996] Hollenbach, C. and Frakes, W. 1996. Software Process Reuse in an Industrial Setting. • [MORISIO, 2002] Maurizio Morisio, Michel Ezran, Colin Tully Success and Failure Factors in Software Reuse. • [ALMEIDA, 2006] Key Developments in the Field of Software Reuse • [ALMEIDA, 2005] Towards an Effective Software Reuse Process
References • [MORISIO, 2002] Maurizio Morisio, Michel Ezran, Colin Tully. Success and Failure Factors in Software Reuse. 2002 • [ACUÑA, 1999] Silvia T. ACUÑA and Graciela BARCHINI. The Socio-Cultural Environment in the Software Process Modeling. 1999