Embedded Systems Design 10EC74
Embedded Systems Design 10EC74
Waterfall model
V cycle model.
Spiral
Rapid prototype
Waterfall model
The waterfall model represents a cycle- specifically a series of steps appearing much like a
waterfall. It is the model which is use to linear process development. It is a sequential design
process, often used in software process development in which progress is seen as flowing
steadily downwards through the phases of Conception, Initiation, Analysis, Design,
Construction, Testing, Production/Implementation and Maintenance. Figure 4.1 shows the water
life cycle model
Figure 4.1 The waterfall life cycle model
Specification.
Preliminary design.
Design review
Detailed design.
Design review.
Implementation.
Review.
Phases:
1) Requirement : In this phase we gather necessary information which will use for
development of any project . For above example we gather information like which types of
characteristics client wants. It also defines system requirement specification. This phase defines
what to do.
2) Design: In design phase we then construct design to how to implement that requirements
gathered into phase 1 .This phase define how to do .For this phase we then write algorithms
3) Coding: Now base on design phase we then write actual code to implement algorithms. This
code should be efficient.
4)Testing : This phase use to test our coding part it checks all the validation...like our code
should work for each and every possibilities of input if any bug occur then we have to report that
bug to design phase or development phase.
1. The implementation process contains software preparation and transition activities, such as the
conception and creation of the maintenance plan; the preparation for handling problems
identified during development; and the followup on product configuration management.
2. The problem and modification analysis process, which is executed once the application has
become the responsibility of the maintenance group. The maintenance programmer must analyze
each request, confirm it (by reproducing the situation) and check its validity, investigate it and
propose a solution, document the request and the solution proposal, and, finally, obtain all the
required authorizations to apply the modifications.
4. The process acceptance of the modification, by confirming the modified work with the
individual who submitted the request in order to make sure the modification provided a solution.
EMBEDDED SYSTEM DESIGN 10EC74
5. The migration process is exceptional, and is not part of daily maintenance tasks. If the
software must be ported to another platform without any change in functionality, this process
will be used and a maintenance project team is likely to be assigned to this task.
6. Finally, the last maintenance process, also an event which does not occur on a daily basis, is
the retirement of a piece of software.
The V model
The V-Model is a term applied to a range of models, from a conceptual model designed to
produce a simplified understanding of the complexity associated with systems development to
detailed, rigorous development lifecycle models and project management models. Each test
phase is identified with its matching development phase as shown in figure 4.2.
In diagram, we have
The V represents the sequence of steps in a project life cycle development. It describes the
activities to be performed and the results that have to be produced during product development.
The left side of the "V" represents the decomposition of requirements, and creation of system
specifications. The right side of the V represents integration of parts and their validation
Validation. The assurance that a product, service, or system meets the needs of the customer
and other identified stakeholders. It often involves acceptance and suitability with external
customers. Contrast with verification."
"Verification. The evaluation of whether or not a product, service, or system complies with a
regulation, requirement, specification, or imposed condition. It is often an internal process.
Contrast with validation."
The spiral model
Documents are produced when they are required, and the content reflects the information
necessary at that point in the process. All documents will not be created at the beginning of the
process, nor all at the end (hopefully). Like the product they define, the documents are works in
progress. The idea is to have a continuous stream of products produced and available for user
review.
The spiral lifecycle model allows for elements of the product to be added in when they become
available or known. This assures that there is no conflict with previous requirements and design.
This method is consistent with approaches that have multiple software builds and releases and
allows for making an orderly transition to a maintenance activity. Another positive aspect is that
the spiral model forces early user involvement in the system development effort. For projects
with heavy user interfacing, such as user application programs or instrument interface
applications, such involvement is helpful
Note that the requirements activity takes place in multiple sections and in multiple iterations, just
as planning and risk analysis occur in multiple places. Final design, implementation, integration,
and test occur in iteration 4. The spiral can be repeated multiple times for multiple builds. Using
this method of development, some functionality can be delivered to the user faster than the
waterfall method. The spiral method also helps manage risk and uncertainty by allowing multiple
decision points and by explicitly admitting that all of anything cannot be known before the
subsequent activity starts.
Rapid prototype
The Rapid prototyping model is intended to provide a rapid implementation of high level
portions of both the software and the hardware . the approach allows developers to construct
working portion of hardware and software in incremental stages.Each stage through the
cycle,one incorporates a little more of the intended functionality.The prototype is useful for both
the designer and the customer. The prototype can be either evolutionary or throughway. It has
the advantage of having a working system early in development process.
Problem solving-five steps to design
Requirement definition.
System specification
Functional design
Architectural design
Prototyping.
The design process comprises five distinct stages although it may vary for particular projects or
design disciplines. This information may be useful when working with a designer to understand
the processes involved. Before the project is started however, a vital question has to be asked:
―Why do you need a new identity, brochure or website etc?‖ This question is the key to
undertaking a successful project.
Figure 4.4 The interface between the customer and the design process.
Requirements analysis is critical to the success of a systems or software project. The
requirements should be documented, actionable, measurable, testable, traceable, related to
identified business needs or opportunities, and defined to a level of detail sufficient for system
design.
Eliciting requirements: the task of identifying the various types of requirements from various
sources including project documentation, business process documentation, and stakeholder
interviews. This is sometimes also called requirements gathering.
Analyzing requirements: determining whether the stated requirements are clear, complete,
consistent and unambiguous, and resolving any apparent conflicts.
Recording requirements: Requirements may be documented in various forms, usually
including a summary list and may include natural-language documents, use cases, user
stories, or process specifications.
Requirements analysis can be a long and arduous process during which many delicate
psychological skills are involved. New systems change the environment and relationships
between people, so it is important to identify all the stakeholders, take into account all their
needs and ensure they understand the implications of the new systems. Analysts can employ
several techniques to elicit the requirements from the customer. These may include the
development of scenarios, the identification of use cases, the use of workplace observation
or ethnography, holding interviews, or focus groups and creating requirements
lists. Prototyping may be used to develop an example system that can be demonstrated to
stakeholders. Where necessary, the analyst will employ a combination of these methods to
establish the exact requirements of the stakeholders, so that a system that meets the business
needs is produced.
The specification of the external environment should contain the following for each entity:
Responsibilities-activities.
Relationships.
Safety and reliability.
The System Design Specification (SDS) is a complete document that contains all of the
information needed to develop the system. Systems design is the process of defining the
architecture, components, modules, interfaces, and data for a system to satisfy
specified requirements. Systems design could be seen as the application of systems
theory to product development. There is some overlap with the disciplines of systems
analysis, systems architecture and systems engineering. System design specification serves as a
bridges between the customers and designers as shown in figure 4.5.
Figure 4.5: The Customer, the requirement, the design and the engineer
The requirement specifications provides a view from the outside of the system, design
specification provides a view from the inside looking out as well. Design specification has 2
masters:
It must specify the system‘s public interface from inside the system.
It must specify how the requirements defined for and by the public interface are to be met
by the initial functions of the system.
Five areas should be considered are:
Geographical constraints.
Characterization of and constraints on interface signals.
User interface requirements
Temporal constraints.
Electrical infrastructure consideration
Safety and reliability
Requirements give a description of something wanted or needed. They are a set of needed
properties.
Specification is a description of some entity that has or implements those properties.
For example, errors developed during the requirements and specifications stage may lead
to errors in the design stage. When this error is discovered, the engineers must revisit the
requirements and specifications to fix the problem. This leads not only to more time wasted but
also the possibility of other requirements and specifications errors. Many accidents are traced to
requirements flaws, incomplete implementation of specifications, or wrong assumptions about
the requirements. While these problems may be acceptable in non-safety-critical systems, safety-
critical systems cannot tolerate errors due to requirements and specifications. Therefore, it is
necessary that the requirements are specified correctly to generate clear and accurate
specifications.
Complete
Consistent
Comprehensible
Traceable to the requirement
Unambiguous
Modifiable
Able to be written
Functional design
The functional design process maps the "what to do" of the Requirements Specification into the
"how to do it" of the design specifications. During this stage, the overall structure of the product
is defined from a functional viewpoint. The functional design describes the logical system flow,
data organization, system inputs and outputs, processing rules, and operational characteristics of
the product from the user's point of view. The functional design is not concerned with the
software or hardware that will support the operation of the product or the physical organization
of the data or the programs that will accept the input data, execute the processing rules, and
produce the required output.
Functional Design is a paradigm used to simplify the design of hardware and software devices
such as computer software and increasingly, 3D models. A functional design assures that each
modular part of a device has only one responsibility and performs that responsibility with the
minimum of side effects on other parts. Functionally designed modules tend to have low
coupling.
Architectural design
The major objective of the Architectural design activity is the allocation or mapping of the
different pieces of system functionality to the appropriate hardware anf software blocks. Work is
based on the detailed functional structure. The important constraints that must be considered
include items as
For the software design, the following must be analyzed and decided.
An appropriate model has to include elements both at the functional and architectural level to be
able to represent and evaluate hardware/software system.
Functional model
The functional model describes a system through a set of interacting functional elements. The
design proceeds at a high level without initial bias toward any specific implementation. We have
freedom to explore and to be creative. The functional models will interact using one of the
following 3 types of relations
Architectural model
Tha architectural model describes the physical architecture of the system based on real
components such as microprocessor, arrayed logics, special purpose processors,analog and
digital components, and the many interconnections between them.
Prototyping
Detailed design
Debugging
Validation
Testing
A prototype is an early sample or model built to test a concept or process or to act as a thing to
be replicated or learned from. It is a term used in a variety of contexts, including semantics,
design, electronics, and software programming. A prototype is designed to test and trial a new
design to enhance precision by system analysts and users. Prototyping serves to provide
specifications for a real, working system rather than a theoretical one.
In many fields, there is great uncertainty as to whether a new design will actually do what is
desired. New designs often have unexpected problems. A prototype is often used as part of the
product design process to allow engineers and designers the ability to explore design alternatives,
test theories and confirm performance prior to starting production of a new product. Engineers
use their experience to tailor the prototype according to the specific unknowns still present in the
intended design. For example, some prototypes are used to confirm and verify consumer interest
in a proposed design whereas other prototypes will attempt to verify the performance or
suitability of a specific design approach.
In general, an iterative series of prototypes will be designed, constructed and tested as the final
design emerges and is prepared for production. With rare exceptions, multiple iterations of
prototypes are used to progressively refine the design. A common strategy is to design, test,
evaluate and then modify the design based on analysis of the prototype.
Other Considerations
The 2 additional complementary and concurrent activities that need to be considered are
Capitalization and reuse are activities that are essential to the contemporary design
process. Proper and efficient exploitation of intellectual properties is very important
.intellectual properties are designs, often patented, that can be sold to another party to
develop and sell as their product.
Reuse
One of the main purpose of reuse is to help designers shorten the development life cycle.
Component reuse is facilitated in 2 ways: present and future.
Well defined
Properly modularized
In conformance to some interchange standard.
Requirement traceability refers to the ability to follow the life of a requirement in both the
forward and reverse directions through the entire design process and the design. The few
important pieces of informations are
The means for the project manager and the customer to moniter the development
progress.
A path that can be used during the verification and validation of the product against the
original specification.
A means of identifying which hardware or software modules are affected if a requirement
changes.
Requirement management
During the design, such changes are difficult to avoid for many reasons. Therefore a clear
procedure that facilitates a way to accommodate such modifications has to be used during the
whole design process.
When the product has finally been released to production, some work remains to be done. If the
product follows the typical life cycle, bugs that must be fixed will be expected and added, and
the next generation product will build on the current. The typical project will have had many
contributors. A basic list can include
Product planning
Design and development
Test
Manufacturing
Marketing
Sales
Each group will have information, knowledge, documentation, and tools that will be important in
future. figure depicts a typical project software directory.