
Specialized Process
Models

 Special process models take on many of the
characteristics of one or more of the conventional
models.
 However, specialized models tend to be applied
when a narrowly defined software engineering
approach is chosen.
Special Process Models

 Commercial off-the-shelf (COTS) Software
components can be used when Software is to be
built.
 COTS describes software or hardware products that
are ready-made and available for sale to the general
public.
Component-based Development

 These components provide targeted functionality
with well-defined interfaces that enable the
component to be integrated into the Software.
Component-based Development

 The component-based development model incorporates
many of the characteristics of the spiral model.
Component-based Development

 The component-based development model incorporates
the following steps:
 Available component-based products are researched
and evaluated for the application domain in question.
 Component integration issues are considered.
 Software architecture is designed to accommodate the
components.
 Components are integrated into the architecture.
 Comprehensive testing is conducted to ensure proper
functionality.
Component-based Development

 The component-based development model leads to
Software reuse, and reusability provides Software
engineers with a number of measurable benefits.
Component-based Development

 Based on studies of reusability
 Component-based development leads to a:
 70% reduction in development cycle time;
 84% reduction in project cost;
 Productivity increases
 Faster development and testing
Component-based Development

 Encompasses a set of activities that leads to formal
mathematical specification of computer software.
Formal Method Models

 Enables a software engineer to specify, develop, and
verify a computer-based system by applying a
rigorous, mathematical notation.
Formal Method Models

 Ambiguity, incompleteness, and inconsistency can
be discovered and corrected more easily through
mathematical analysis.
 When formal methods are used during design, they
serve as a basis for program verification and
therefore enable the software engineer to discover
and correct errors that might otherwise go
undetected.
Formal Method Models

 Offers the promise of defect-free software
 Used often when building safety-critical systems
Formal Method Models

 The development of formal models is currently quite
time-consuming and expensive.
 Because few software developers have the necessary
background to apply formal methods, extensive
training id required.
 It is difficult to use the models as a communication
mechanism for technically unsophisticated
customers.
Drawbacks

 Aspect-oriented software development (AOSD) is a
new approach to software development that
addresses limitations inherent in other approaches,
including object-oriented programming.
 AOSD is also known as aspect-oriented
programming (AOP).
Aspect-Oriented Software Development

 OOP works on System level code, looks at
an application as a set of collaborating objects.
 OOP works on elements like classes, objects,
interfaces etc.
 Provides benefits such as code reuse, flexibility,
improved maintainability, modular architecture,
reduced development time etc. with the help of
polymorphism, inheritance and encapsulation.
Differences between AOP and OOP

 AOP works at the complex software system.
 AOP has join points, point cuts, advice, and aspects.
 AOP implementation coexists with the OOP by
choosing OOP as the base language.
Differences between AOP and OOP

 AOSD aims to address crosscutting concerns by
providing means for systematic identification,
separation, representation and composition.
 Cross-cutting concerns are aspects of a program that
affect other concerns. These concerns often cannot be
cleanly decomposed from the rest of the system in
both the design and implementation, and can result
in
either scattering (code duplication), tangling (significa
nt dependencies between systems), or both.
Aspect-Oriented Software Development

 Aspect-oriented software development (AOSD) is a
software design solution that helps address the
modularity issues that are not properly resolved by
other software approaches, like procedural,
structured and object-oriented programming (OOP).
 AOSD complements, rather than replaces, these
other types of software approaches.
Aspect-Oriented Software Development

 This results in better support for modularization
hence reducing development, maintenance and
evolution costs.
Aspect-Oriented Software Development

 What is a Rational Unified Process (RUP)
 Rational Unified Process (RUP) is a software development process for object-
oriented models. It is also known as the Unified Process Model. It is created by
Rational Corporation and is designed and documented using UML (Unified
Modeling Language). This process is included in the IBM Rational Method
Composer (RMC) product. IBM (International Business Machine Corporation)
allows us to customize, design, and personalize the unified process.
 RUP is proposed by Ivar Jacobson, Grady Bootch, and James Rambaugh. Some
characteristics of RUP include being use-case driven, Iterative (repetition of
the process), incremental (increase in value) by nature, delivered online using
web technology, can be customized or tailored in modular and electronic
form, etc. RUP reduces unexpected development costs and prevents the
wastage of resources.
 Phases of RUP
 There is a total of five phases of the life cycle of RUP:
1. Inception
2. Elaboration
3. Construction
4. Transition
5. Production


1. Inception –
1. Communication and planning are the main ones.
2. Identifies the scope of the project using a use-case model allowing
managers to estimate costs and time required.
3. Customers’ requirements are identified and then it becomes easy to
make a plan for the project.
4. The project plan, Project goal, risks, use-case model, and Project
description, are made.
5. The project is checked against the milestone criteria and if it couldn’t
pass these criteria then the project can be either canceled or
redesigned.
2. Elaboration –
2. Planning and modeling are the main ones.
3. A detailed evaluation and development plan is carried out and
diminishes the risks.
4. Revise or redefine the use-case model (approx. 80%), business case,
and risks.
5. Again, checked against milestone criteria and if it couldn’t pass these
criteria then again project can be canceled or redesigned.
6. Executable architecture baseline.
3. Construction –
3. The project is developed and completed.
4. System or source code is created and then testing is done.
5. Coding takes place.

4. Transition –
4. The final project is released to the public.
5. Transit the project from development into production.
6. Update project documentation.
7. Beta testing is conducted.
8. Defects are removed from the project based on feedback from the public.
5. Production –
5. The final phase of the model.
6. The project is maintained and updated accordingly.

 Advantages of Rational Unified Process (RUP)
 Following are the advantages of Rational Unified Process (RUP):
1. RUP provides good documentation, it completes the process in itself.
2. RUP provides risk-management support.
3. RUP reuses the components, and hence total time duration is less.
4. Good online support is available in the form of tutorials and training.
 Disadvantages of Rational Unified Process (RUP)
 Following are the disadvantages of Rational Unified Process
(RUP):
1. Team of expert professional is required, as the process is complex.
2. Complex and not properly organized process.
3. More dependency on risk management.
4. Hard to integrate again and again.

282600430-Specialized-Process-Models.pptx

  • 1.
  • 2.
      Special processmodels take on many of the characteristics of one or more of the conventional models.  However, specialized models tend to be applied when a narrowly defined software engineering approach is chosen. Special Process Models
  • 3.
      Commercial off-the-shelf(COTS) Software components can be used when Software is to be built.  COTS describes software or hardware products that are ready-made and available for sale to the general public. Component-based Development
  • 4.
      These componentsprovide targeted functionality with well-defined interfaces that enable the component to be integrated into the Software. Component-based Development
  • 5.
      The component-baseddevelopment model incorporates many of the characteristics of the spiral model. Component-based Development
  • 6.
      The component-baseddevelopment model incorporates the following steps:  Available component-based products are researched and evaluated for the application domain in question.  Component integration issues are considered.  Software architecture is designed to accommodate the components.  Components are integrated into the architecture.  Comprehensive testing is conducted to ensure proper functionality. Component-based Development
  • 7.
      The component-baseddevelopment model leads to Software reuse, and reusability provides Software engineers with a number of measurable benefits. Component-based Development
  • 8.
      Based onstudies of reusability  Component-based development leads to a:  70% reduction in development cycle time;  84% reduction in project cost;  Productivity increases  Faster development and testing Component-based Development
  • 9.
      Encompasses aset of activities that leads to formal mathematical specification of computer software. Formal Method Models
  • 10.
      Enables asoftware engineer to specify, develop, and verify a computer-based system by applying a rigorous, mathematical notation. Formal Method Models
  • 11.
      Ambiguity, incompleteness,and inconsistency can be discovered and corrected more easily through mathematical analysis.  When formal methods are used during design, they serve as a basis for program verification and therefore enable the software engineer to discover and correct errors that might otherwise go undetected. Formal Method Models
  • 12.
      Offers thepromise of defect-free software  Used often when building safety-critical systems Formal Method Models
  • 13.
      The developmentof formal models is currently quite time-consuming and expensive.  Because few software developers have the necessary background to apply formal methods, extensive training id required.  It is difficult to use the models as a communication mechanism for technically unsophisticated customers. Drawbacks
  • 14.
      Aspect-oriented softwaredevelopment (AOSD) is a new approach to software development that addresses limitations inherent in other approaches, including object-oriented programming.  AOSD is also known as aspect-oriented programming (AOP). Aspect-Oriented Software Development
  • 15.
      OOP workson System level code, looks at an application as a set of collaborating objects.  OOP works on elements like classes, objects, interfaces etc.  Provides benefits such as code reuse, flexibility, improved maintainability, modular architecture, reduced development time etc. with the help of polymorphism, inheritance and encapsulation. Differences between AOP and OOP
  • 16.
      AOP worksat the complex software system.  AOP has join points, point cuts, advice, and aspects.  AOP implementation coexists with the OOP by choosing OOP as the base language. Differences between AOP and OOP
  • 17.
      AOSD aimsto address crosscutting concerns by providing means for systematic identification, separation, representation and composition.  Cross-cutting concerns are aspects of a program that affect other concerns. These concerns often cannot be cleanly decomposed from the rest of the system in both the design and implementation, and can result in either scattering (code duplication), tangling (significa nt dependencies between systems), or both. Aspect-Oriented Software Development
  • 18.
      Aspect-oriented softwaredevelopment (AOSD) is a software design solution that helps address the modularity issues that are not properly resolved by other software approaches, like procedural, structured and object-oriented programming (OOP).  AOSD complements, rather than replaces, these other types of software approaches. Aspect-Oriented Software Development
  • 19.
      This resultsin better support for modularization hence reducing development, maintenance and evolution costs. Aspect-Oriented Software Development
  • 20.
      What isa Rational Unified Process (RUP)  Rational Unified Process (RUP) is a software development process for object- oriented models. It is also known as the Unified Process Model. It is created by Rational Corporation and is designed and documented using UML (Unified Modeling Language). This process is included in the IBM Rational Method Composer (RMC) product. IBM (International Business Machine Corporation) allows us to customize, design, and personalize the unified process.  RUP is proposed by Ivar Jacobson, Grady Bootch, and James Rambaugh. Some characteristics of RUP include being use-case driven, Iterative (repetition of the process), incremental (increase in value) by nature, delivered online using web technology, can be customized or tailored in modular and electronic form, etc. RUP reduces unexpected development costs and prevents the wastage of resources.  Phases of RUP  There is a total of five phases of the life cycle of RUP: 1. Inception 2. Elaboration 3. Construction 4. Transition 5. Production
  • 21.
  • 22.
     1. Inception – 1.Communication and planning are the main ones. 2. Identifies the scope of the project using a use-case model allowing managers to estimate costs and time required. 3. Customers’ requirements are identified and then it becomes easy to make a plan for the project. 4. The project plan, Project goal, risks, use-case model, and Project description, are made. 5. The project is checked against the milestone criteria and if it couldn’t pass these criteria then the project can be either canceled or redesigned. 2. Elaboration – 2. Planning and modeling are the main ones. 3. A detailed evaluation and development plan is carried out and diminishes the risks. 4. Revise or redefine the use-case model (approx. 80%), business case, and risks. 5. Again, checked against milestone criteria and if it couldn’t pass these criteria then again project can be canceled or redesigned. 6. Executable architecture baseline. 3. Construction – 3. The project is developed and completed. 4. System or source code is created and then testing is done. 5. Coding takes place.
  • 23.
     4. Transition – 4.The final project is released to the public. 5. Transit the project from development into production. 6. Update project documentation. 7. Beta testing is conducted. 8. Defects are removed from the project based on feedback from the public. 5. Production – 5. The final phase of the model. 6. The project is maintained and updated accordingly.
  • 24.
      Advantages ofRational Unified Process (RUP)  Following are the advantages of Rational Unified Process (RUP): 1. RUP provides good documentation, it completes the process in itself. 2. RUP provides risk-management support. 3. RUP reuses the components, and hence total time duration is less. 4. Good online support is available in the form of tutorials and training.  Disadvantages of Rational Unified Process (RUP)  Following are the disadvantages of Rational Unified Process (RUP): 1. Team of expert professional is required, as the process is complex. 2. Complex and not properly organized process. 3. More dependency on risk management. 4. Hard to integrate again and again.