eHow launches Android app: Get the best of eHow on the go.

How To

How to Translate an Abstract Idea Into a Software Object

Contributor
By eHow Contributing Writer
(0 Ratings)

A major responsibility of a software team's project manager is to communicate with the customer. The goal of this communication is to probe the customer's understanding of the problem. The project manager codifies the problem in unambiguous terms and presents it to the software team. The software engineers who comprise the team then translate the codified problem into the programming style of the object-oriented language of choice.

Difficulty: Moderate
Instructions

Things You'll Need:

  • Competence in an object-oriented programming language such as C++ or Smalltalk
  • Integrated development environment software such as MS Visual Studio
  • Flow chart software such as Microsoft Visio
  1. Step 1

    Use abstraction to encapsulate complexity. Highlight the important aspects of the problem. Suppress the unimportant aspects of the problem. Structure the concepts in a way that leads to the best solution. Make wise structuring decisions now, because later it will be too late to undo the interpretation.

  2. Step 2

    Modularize around entities--for example, "Window," "Product" or "Robot"--not according to processes or interactions.

  3. Step 3

    Take one module at a time and define its range of behavior, the number of possible states it can have and its interfaces with other modules. This process converts a module into an object.

  4. Step 4

    Represent the analysis model in Step 3 with a data flow diagram using Microsoft Visio or another data flow chart software. Present it to the customer for feedback. Consider all alternative scenarios by asking "What if...?" questions. Repeat this step until perfect.

  5. Step 5

    Add object reuse and extensibility to the system. Reuse enhances efficiency and extensibility lets new systems adapt more easily to new designs and migration.

  6. Step 6

    Choose a programming language such as C++, Smalltalk or Eiffel to implement the system. Do a mock implementation at first, with extremely limited background functionality, so that the customer can do a test drive for last-minute modifications. If the design is sound, the last-minute programming changes will be painless.

  7. Step 7

    Proceed to the next phases of the software lifecycle that are beyond the scope of this article.

Tips & Warnings
  • You can maximize reuse and extensibility by developing frameworks and libraries. A framework is a template of collaborating objects. A library is a resource of add-on functions and data types.

Post a Comment

Post a Comment
  • Have you done this? Click here to let us know.
I Did This

Related Ads

Computers
Alexia Petrakos,

Meet Alexia Petrakos eHow's Computers Expert.

Get Free Computers Newsletters

Copyright © 1999-2009 eHow, Inc. Use of this web site constitutes acceptance of the eHow Terms of Use and Privacy Policy.   en-US Portions of this page are modifications based on work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.

eHow Computers
eHow_eHow Technology and Electronics