Embedded Product Development Life Cycle (EDLC)

 



It is an Analysis – Design – Implementation based problem-solving approach for embedded systems development.

There are three phases to Product development:


  •  Analysis involves understanding what product needs to be developed.
  • Design involves what approach to be used to build the product.
  • Implementation is developing the product by realizing the design. 


Why we need EDLC?


  • Essential for understanding the scope & complexity of the work involved in embedded systems development.
  • It can be used in any developing any embedded product.
  • Defines the interaction and activities among various groups of a product development phase.


Objectives of EDLC


  • The aim of any embedded product in a commercial production setup is to produce Marginal benefit. Marginal is usually expressed in terms of Return On Investment.
  •  The investment for product development includes initial investment, manpower, infrastructure investment, etc.
  • The product needs to be acceptable to the end-user in terms of quality, reliability & functionality.

The primary objectives are:


  • Ensuring that high-quality products are delivered to the user
  • Risk minimization & defect prevention through project management
  • Maximize productivity


Ensuring that high-quality products are delivered to the user


Quality in any product development is Return On Investment, achieved by the product. The expenses incurred for developing the product are:-


  • Initial investment
  • Developer recruiting
  • Training
  • Infrastructure requirement related


Risk minimization & defect prevention through project management


Project in EDLC requires loose or tight project management.

Project management adds an extra cost on a budget but essential for ensuring the development process is going in the right direction and is required for ;

  • Predictability (Analysing the time to finish the project)
  • Coordination (Resources(developers) needed for the job)
  • Risk Management (Backup of resources to overcome critical situations & ensuring the defective product is not developed)


Maximize productivity


Productivity is a measure of efficiency as well as Return On Investment.
Different ways to improve productivity are,

  • Saving manpower.
  • Use of automated tools wherever required.
  • Reusable effort- work which has been done for the previous product can be used, if similarities present b/w previous & present product.


DIFFERENT PHASES OF EDLC



Embedded Development Life Cycle

Need

The need may come from an individual or from the public or from a company. The need should initiate the “Development Life Cycle”. Need  can be visualized in any one of these requirements :

  •  New or Custom Product Development The need for a product that does not exist in the market or a product that acts as a competitor to an existing product in the current market will lead to the development of a completely new product. The product can be a commercial requirement or an individual requirement or a specific organization’s requirement

  • Product Re-engineeringRe-engineering a product is a process of making changes in existing product design and launching it as a new version. It is generally termed as a product upgrade. Re-engineering an existing product comes as a result of the needs like Change in Business requirements, User Interface Enhancements, Technology Upgrades.

  • Product Maintenance - Product maintenance 'need' deals with providing technical support to the end-user for an existing product in the market. The maintenance of the request may come as a result of product non-functioning or failure. Product maintenance is generally classified into two categories: Corrective maintenance and Preventive maintenance. 

 Conceptualization 

Defines the scope of concept (Deals with the activities involved in the product to be made), performs cost-benefit analysis (Revealing and assessing the total development cost and profit expected from the product) & feasibility study (Examine the need and suggest possible solutions), and prepare project management and risk management plans. 

Analysis 

The product is defined in detail concerning the inputs, processes, outputs, and interfaces at a functional level. 

Design 

The design phase identifies the application environment and creates an overall architecture for the product.
  • It starts with the Preliminary Design. 
  • It establishes the top-level architecture for the product. 
  • On completion, it resembles a ‘black box’ that defines only the inputs and outputs.
  • The final product is called the Preliminary Design Document (PDD).
  • Once the PDD is accepted by the End User the next task is to create the ‘Detailed Design’.
  • It encompasses the Operations manual design, Maintenance Manual Design, and Product Training Material Design and is together called the ‘Detailed Design Document’.

Development and Testing 

 The development phase transforms the design into a realizable product. Testing can be divided into independent testing of software & Hardware like,
  • Unit testing – Testing Individual modules. The unit module is either a function or a class. Unit Testing is performed by the development team, primarily the developer and is usually carried out in a peer-review model. Based on the specification of the module test cases are developed.
  • Integration testing – Testing a group of modules for the required functionality. Integration testing can be classified into two segments:
Software integration testing
Software/hardware integration testing.
  • System testing- Testing functional aspects or functional requirements of the product after integration. Now the module to be tested is a full framework that consists of complete software code additionally all real-time operating system (RTOS) and platform-related pieces such as interrupts, tasking mechanisms, communications and so on.
  • User acceptance testing- Testing the product to meet the end-user requirements.

Deployment 


Deployment is the process of launching the first fully functional model of the product in the market. It is also known as First Customer Shipping (FCS). Tasks performed during this phase are:
  • Notification of Product Deployment
  • Execution of training plan
  • Product installation
  • Product post Implementation Review

 Support 

 The support phase deals with the operational and maintenance of the product in the production environment. The support phase ensures that the product meets the user needs and it
continues functioning in the production environment. Activities involved under support are,
  • Setting up of a dedicated support wing: Involves providing 24 x 7 supports for the product after it is launched.
  • Identify Bugs and Areas of Improvement: Identify bugs and take measures to eliminate them.

Upgrades

Deals with the development of upgrades (new versions) for the product which is already present in the market. During the upgrade phase, the system is subject to design modification to fix
the major bugs reported.


 Retirement/Disposal


The retirement/disposal of the product is a gradual process. This phase is the final phase in a product development life cycle where the product is declared as discontinued from the market. The disposal of a product is essential due to the following reasons,

  • Rapid technology advancement
  • Increased user needs

No comments:

Post a Comment

Monk and Inversions

using System; public class Solution { public static void Main () { int T = Convert . ToInt32 ( Console . ReadLine...