Planning a programming project by example (C# or C++)

Lunan picture Lunan · Mar 17, 2010 · Viewed 12.5k times · Source

I am in the last year of undergraduate degree and i am stumped by the lack of example in c++ and c# large project in my university. All the mini project and assignment are based on text based database, which is so inefficient, and console display and command, which is frustrating.

I want to develop a complete prototype of corporate software which deals in Inventory, Sales, Marketing, etc. Everything you would usually find in SAP. I am grateful if any of you could direct me to a books or article or sample program.

Some of the question are :

  1. How to plan for this kind of programming? should i use the concept of 1 object(such as inventory) have its own process and program and have an integrator sit for all the program, or should i integrate it in 1 big program?

  2. How to build and address a database? i have little bit knowledge in database and i know SQL but i never address database in a program before. Database are table, and how do you suppose to represent a table in a OOP way?

  3. For development type, which is better PHP and C++ or C# and ASP.NET? I am planning to use Web Interface to set form and information, but using a background program to handle the compute. .NET is very much integrated and coding should be much faster, but i really wonder about performance if compared to PHP and C++ package

thank you for the info

Answer

KMån picture KMån · Mar 17, 2010

This may not answer your question directly, but I thought this might help you get started in some way. So here it goes: I would say, "think through the process". This means, think through the software development process:

  • Gather requirements
    • Identify and define the problem.
    • Get as much information/facts as you can. (turn on green light, think about everything that you want to go into your software)
    • Come up with a baseline (turn on red lights, what you really want? the minimum functionality your software "must have" - cant live without)
  • Analyze
    • Know what you don’t know, what are the missing facts?
    • Evaluate your information or lack of it/reliability of information source.
    • Infer facts that you don’t know.
    • Form an assumption, opinion, or possible solutions.
    • Consider alternatives and implications of each solution.
    • Form an action plan.
    • Identify technology pros/cons.
    • Decide technology
    • Comeup with a functional specs.
  • Research
    • Dig into stuff that you would want to know (Best database, ORM, design practices, code samples - gather everything, read about inventory systems that are already there)
  • Design
  • Develop
  • Test
    • Fix
  • Prepare deployment plan
  • Release the product
  • Gather user feedback
  • Analyze user feedback
  • Plan for items in next release.
  • Repeat steps

And Enjoy!