0% found this document useful (0 votes)
13 views10 pages

Overview of Concurrent Development Models

The document discusses the Concurrent Model, also known as concurrent engineering, which is an evolutionary software development model that emphasizes simultaneous activities and transitions between different states. It highlights the advantages such as faster development and improved communication, while also noting disadvantages like the need for better team communication. Additionally, it covers specialized process models like Component-Based Development, the Formal Methods Model, and Aspect-Oriented Software Development, each with unique characteristics and applications in software engineering.

Uploaded by

stationfunstop
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views10 pages

Overview of Concurrent Development Models

The document discusses the Concurrent Model, also known as concurrent engineering, which is an evolutionary software development model that emphasizes simultaneous activities and transitions between different states. It highlights the advantages such as faster development and improved communication, while also noting disadvantages like the need for better team communication. Additionally, it covers specialized process models like Component-Based Development, the Formal Methods Model, and Aspect-Oriented Software Development, each with unique characteristics and applications in software engineering.

Uploaded by

stationfunstop
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Concurrent Models

 Sometimes called concurrent engineering, can


be Represented schematically as a series of
framework activities, software engineering
actions, tasks and their associated States
 The model defines a series of events that will
trigger transitions from state to state for each
of the software engineering activities, actions
of tasks.
 Consider analysis activity-an action may goes
on anyone of the given states
 Similarly other activities or tasks can be
represented In an analogous (meaning:
comparable in certain respects) manner. For
your consideration, a activity is
given is next slide
About Concurrent Model
• It is a type of Evolutionary Model.

• Concurrent development model is also known as


concurrent engineering.

• The term concurrent mean "done at the same


time".

• It used in all software development process


model.
• Transition from state to state for each of the
software engineering activities.

Importance of concurrent
development model
* The concurrent development model is applicable
to all types of software development and provides
an accurate picture of the current state of a
project.

* It defines a network activity, not like other


software engineering actions

* Each activity, actions, tasks on the network


exists Simultaneously with other activities,
actions, tasks

Concurrent Model Working


✓SDLC Activities: Communication, Design, Coding,
Testing, Deployment

➤Inactive: No any activity / state performed.

➤Under Development: Any activity performed.

➤Awaiting Changes: If customer want any changes

➤Under review: Testing activity start.

➤Under revision: Do all required changes.


➤Baselined: As per the SRS document

➤Done: Project completed & Deployed.

Advantages of the concurrent development model

 This model is applicable to all types of


software development processes.
 It is easy for understanding and use.
 It gives immediate feedback from testing.
 It provides an accurate picture of the current
state of a project.

Disadvantages of the concurrent development


model

 It needs better communication between the


team members. This may not be achieved all
the time.
It requires to remember the status of the
different activities.

Some applications of concurrent models in


software engineering include:

 Faster development: Concurrent models can


help speed up the development process.
 Better outcomes: Concurrent models can lead
to better outcomes.
 Streamlined process: Concurrent models can
help streamline the software development
process.
 Improved communication: Concurrent models
can help improve communication between
different teams.
 Early issue resolution: Concurrent models can
help address manufacturing constraints early
in the design process.
 Parallel work: Concurrent models allow
different teams to work in parallel on different
aspects of the project.
Some common examples of concurrent
engineering models include the waterfall,
prototype, and spiral models.

Specialized Process Models

Specialized process models take on many of


the characteristics of one or more of the
traditional models presented in the preceding
sections.
However, there models tend to be applied
when a specialized or narrowly defined
software engineering approach is chosen.
[Link]-Based Development
[Link] formal Methods Model
[Link]-Oriented Software Development

[Link] Based Development

 the component-based development model


incorporates many of the characteristics of the
spiral model.

 It is evolutionary in Nature [Nie 927],


demanding an iterative approach to the
creation of software.
 However, the component-based development
model constructs applications from
prepackaged Software components.

 Modeling and contruction activities begin With


the identification of candidate components.

 There components can be designed as either


Conventional software modules or object-
oriented classes or packages of classes.

 Regardless of the technology that is used to


create the components, the component-based
development model incorporates the following
Steps,

1. Available component-based products are


research and evaluated for the application
domain in question.

2. Component integration issues are


considered.

3. A software architecture is designed to


accommodate the components

4. Components are integrated into the


architecture.

5. Comprehensive testing is conducted to


ensure proper functionality.

 The component-based development model


leads to software reuse, and reusability
provides software engineers with a number of
measurable benefits.
[Link] formal Methods Model

The formal methods model encompasses a set


of activities that leads to formal mathematical
specification of computer software.
 formal methods enable you to specify, develop
and verify a computer-based system by
applying a rigorous, mathematical notation.

 A variation on this approach, called cleanroom


Software engineering is currently applied by
some software development organizations.

 Although not a mainstream approach, the


formal methods model offers the promise of
defect free software

 Yet, concern about its applicability in a busines


environment has been voiced: 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 as required.
 It is difficult to use the models as
communication mechanism for technically
unsophisticated customers.
[Link]-Oriented Software
Development

 Regardless of the software process that is


Chosen, the builders of complex software
Invariably implement a set of localized
features, functions and information
content.

 There localized software characteristics


are models as components and then
constructed within the context of a system
architecture.

 As modern computer-based systems


become more sophisticated certain
concerns-customer are required properties
or access of technical interest-span the
 entire architecture.

 Some concerns are high-level


properties of a System.

Common questions

Powered by AI

The formal methods model is promising for delivering defect-free software as it uses rigorous, mathematical notation for specifying, developing, and verifying systems, thereby minimizing human error . Despite being time-consuming and expensive, its structured approach helps ensure that specifications are met accurately, leading to high-quality, reliable software . However, its adoption is limited by its complexity and the need for specialized training .

The key steps in the component-based development model include researching and evaluating available component-based products, considering component integration issues, designing a software architecture, integrating components, and conducting comprehensive testing . These steps contribute to software reusability by enabling the use of prepackaged software components, thereby reducing development time and leveraging existing solutions .

Organizations might choose aspect-oriented software development for modern complex systems because this approach allows for the modeling and construction of localized features, functions, and information within the context of a system architecture . As systems become more sophisticated, aspect-oriented development addresses high-level concerns and properties that span the entire architecture, providing comprehensive solutions for complex requirements .

Concurrent models offer several advantages over traditional waterfall, prototype, and spiral models by providing an accurate and dynamic picture of the project's current state and allowing for simultaneous activity progression . Unlike static, linear processes like waterfall, concurrent models facilitate immediate feedback through testing and resolve issues early . They support parallel work and improve communication, making them preferable for projects requiring fast iteration and adaptation .

Concurrent engineering models improve communication by allowing different teams to work in parallel on different aspects of a project, enhancing collaboration and understanding between teams . Additionally, they enable early issue resolution by identifying and addressing potential issues or manufacturing constraints early in the design process, preventing delays and improving project outcomes .

Software engineers achieve several measurable benefits through software reuse in the component-based development model, such as reduced development time, increased productivity, and lower costs . Reusing prepackaged software components improves the reliability and functionality of software by leveraging proven solutions and enables engineers to focus on innovation and problem-solving .

The component-based development model incorporates many characteristics of the spiral model, making it evolutionary in nature and demanding an iterative approach . It constructs applications from prepackaged software components, facilitating software reuse and providing measurable benefits to software engineers . This model involves steps like researching available components, considering integration issues, designing architecture, integrating components, and testing for functionality .

The concurrent development model has several advantages: it is applicable to all types of software development processes, easy to understand and use, provides immediate feedback from testing, and offers an accurate picture of the current state of a project . However, the disadvantages include a need for better communication between team members, which may not always be achieved, and the requirement to remember the status of different activities .

The transition between different states in the concurrent development model enhances the software development process by allowing activities, actions, and tasks to progress simultaneously . It provides an accurate picture of the project's current state, helping manage complexity and facilitating immediate feedback through testing, which can improve software quality and streamline the development process .

The formal methods model faces challenges in business environments due to its time-consuming and expensive nature, as it requires generating formal mathematical specifications of software . Moreover, few software developers have the necessary background to apply it, necessitating extensive training . Additionally, these models can be difficult to use as a communication mechanism for technically unsophisticated customers .

You might also like