heuristic code optimizer for embedded systems

Upload: dragan-mihai

Post on 04-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    1/21

    HEURISTIC CODEOPTIMIZER FOREMBEDDED SYSTEM

    Software Project Management - 201Dragan Mihai

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    2/21

    Brief Description

    The purpose of this project is to develop aspecialized software that analyzes source codedestined to run on microcontrollers and DSPs andperforms optimizations of this code.

    The embedded industry is highly sensitive to costand real-time capabilities of its products. The aim isto make the software run faster and have a smaller memory footprint.

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    3/21

    Resources (1)

    1. Human resources:Lead Programmer:Grigoras Andrei

    Compiler/Operating Systemexpert:

    Suditu Alexandru

    Embedded Systems consultant:Mocanu Costin

    Project Manager:Dragan Mihai

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    4/21

    Resources (2)

    2. Material Resources:a) Software licenses:b) Workstationsc) Hardware development toolsd) Miscellaneous equipment

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    5/21

    Resources (3)

    2. Financial Resources:a) Personnel Trainingb) Office rent

    c) Salariesd) Various deployment costs

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    6/21

    Constraints

    Being a start-up company with limitedresources and stringent financial solutions, itis very important for the project to avoidrunning late in its subsequent tasks and thusgoing over-budget.

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    7/21

    Project Structure

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    8/21

    1. Analysis2. Planning3. Development4. Testing5. Deployment6. Maintenance & Support

    Project Steps

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    9/21

    1. Analysis

    First and foremost a careful analysis of themarket and what it offers in terms of potentialclients and competitors has to be done.The most commonly used development toolsand devices on the market have to be takeninto account and relevant conclusionsregarding the design of our future producthave to be drawn.

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    10/21

    Responsible:Dragan Mihai

    Grigoras Andrei

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    11/21

    2. Planning

    After gaining a good insight into the marketand the most vital elements that couldinfluence our project, development guidelines,essential product features and work packageshave to be defined.

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    12/21

    Responsible:

    Dragan Mihai

    Grigoras Andrei

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    13/21

    3. Design & Development

    The development process of the HeuristicCode Optimizer entails that architecturalspecifications and model design should bewell established before the code can bewritten and the algorithms implemented.

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    14/21

    Responsible:Grigoras Andrei

    Suditu AlexandruMocanu Costin

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    15/21

    4. Testing

    The project adheres to the TDriven Development idea.Test-driven development (TDD)software development process ton the repetition of a very shortdevelopment cycle: first the devwrites an (initially failing) automcase that defines a desired impror new function, then produces minimum amount of code to paand finally refactors the new coacceptable standards. Kent Beckcredited with having developed 'rediscovered' the technique, sta2003 that TDD encourages simpdesigns and inspires confidence

    The software shall be testedtwofold:- Using static code checkers

    such as Lint (to discover trivial coding errors androot out improper softwaredeveloping techniques)

    - The product shall be testedfor feature functionality ateach major checkpoint inthe development path.

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    16/21

    Responsible: Mocanu Costin

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    17/21

    5. Deployment

    Once the Code Optimizer is ready to bemarketed the final steps in launching theproduct are achieved.

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    18/21

    Responsible:

    Dragan MihaiGrigoras Andrei

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    19/21

    6. Maintenance & Support

    Work on the project will continue through continuousimprovement of the software and by providing theclients with support in every way it is deemednecessary: custom-tailored documentation andtutorials, remote and on-location trainings andvarious courses and webinars.

    RespoGrigoras

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    20/21

    SWOT analysis

    S trengths- Easily manageable team- Highly proficient engineers- Innovative product

    Weaknesses- Lacking relations with majcompanies

    - Few initial resources

    Opportunities- Few relevant competitors- Large applicable market domain- Start-up company grant or loan

    could be contracted

    Threats- Development can go over-b- The schedule might be too - Potential customers might b

    hesitant due to the novelty oproduct

  • 7/30/2019 Heuristic Code Optimizer for Embedded Systems

    21/21

    Conclusion

    Software utilized for the planning of thisproject:

    Microsoft Project 2010

    By using Microsofts Project 2010s featurmanaged to plan our activties regarding thdevelopment of our software product in a and efficient manner.We defined our tasks, resources, timeframdeadlines fast and stress-free by using its minterfaces and examples provided freely on

    internet by Microsoft.Thus a project managers work of planninahead, estimating project costs, assessing and managing different situations is substaenhanced.