Sie sind auf Seite 1von 21

HEURISTIC CODE OPTIMIZER FOR EMBEDDED SYSTEMS

Dragan Mihai

Software Project Management - 2012

Brief Description
The purpose of this project is to develop a specialized software that analyzes source code destined to run on microcontrollers and DSPs and performs optimizations of this code.

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

Resources (1)
1. Human resources:

Lead Programmer: Grigoras Andrei Compiler/Operating System expert: Suditu Alexandru Embedded Systems consultant: Mocanu Costin Project Manager: Dragan Mihai

Resources (2)
2. Material Resources: a) Software licenses: b) Workstations c) Hardware development tools d) Miscellaneous equipment

Resources (3)
2. Financial Resources: a) Personnel Training b) Office rent c) Salaries d) Various deployment costs

Constraints
Being a start-up company with limited resources and stringent financial solutions, it is very important for the project to avoid running late in its subsequent tasks and thus going over-budget.

Project Structure

Project Steps
1. 2. 3. 4.

5.
6.

Analysis Planning Development Testing Deployment Maintenance & Support

1. Analysis
First and foremost a careful analysis of the market and what it offers in terms of potential clients and competitors has to be done. The most commonly used development tools and devices on the market have to be taken into account and relevant conclusions regarding the design of our future product have to be drawn.

Responsible: Dragan Mihai Grigoras Andrei

2. Planning
After gaining a good insight into the market and the most vital elements that could influence our project, development guidelines, essential product features and work packages have to be defined.

Responsible:
Dragan Mihai Grigoras Andrei

3. Design & Development


The development process of the Heuristic Code Optimizer entails that architectural specifications and model design should be well established before the code can be written and the algorithms implemented.

Responsible: Grigoras Andrei Suditu Alexandru Mocanu Costin

4. Testing
The software shall be tested twofold: Using static code checkers such as Lint (to discover trivial coding errors and root out improper software developing techniques) The product shall be tested for feature functionality at each major checkpoint in the development path.
The project adheres to the Test Driven Development idea.
Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test and finally refactors the new code to acceptable standards. Kent Beck, who is credited with having developed or 'rediscovered' the technique, stated in 2003 that TDD encourages simple designs and inspires confidence

Responsible: Mocanu Costin

5. Deployment
Once the Code Optimizer is ready to be marketed the final steps in launching the product are achieved.

Responsible:
Dragan Mihai Grigoras Andrei

6. Maintenance & Support


Work on the project will continue through continuous improvement of the software and by providing the clients with support in every way it is deemed necessary: custom-tailored documentation and tutorials, remote and on-location trainings and various courses and webinars.
Responsible: Grigoras Andrei

SWOT analysis
Strengths - Easily manageable team - Highly proficient engineers - Innovative product Opportunities - Few relevant competitors - Large applicable market domain - Start-up company grant or loan could be contracted Weaknesses - Lacking relations with major companies - Few initial resources Threats - Development can go over-budget - The schedule might be too short - Potential customers might be hesitant due to the novelty of the product

Conclusion
Software utilized for the planning of this project:

Microsoft Project 2010

By using Microsofts Project 2010s features we managed to plan our activties regarding the development of our software product in a quick and efficient manner. We defined our tasks, resources, timeframes and deadlines fast and stress-free by using its many interfaces and examples provided freely on the internet by Microsoft. Thus a project managers work of planning ahead, estimating project costs, assessing risk and managing different situations is substantially enhanced.

Das könnte Ihnen auch gefallen