I am trying to create a program for telephone calls. i.e when a user calls a phone number, an operator picks up and ask the user for some input, the input is then validated and base on that do something else. where do i start, what programming language is typically used for systems like this?


Recommended Answers

All 2 Replies

Get out some paper.
Start by listing all the reasons why and why not do this task.
Then if the why's win:

Write down all the functions your system must have. List as many as feasible.
Run through that list and choose 2-4 that are mandatory. List each of those at the top of separate sheets of paper.
Take each of those functions and
1) decide what sub-functions are needed to make this function work
2) break each of those down into smaller and smaller sub-functions
3) arrange those sub-functions into logical groups
4) Write the steps needed to execute these sub-functions, step by step

As you create these sub-function, write down the tks you have no idea to do, and add them to another sheet of paper. This sheet will become the "Things I Need To Learn" list. Don't worry about it yet if you don't know how to do something. That becomes part of the project.

Once you have designed each of your functions, design the 'global decision function' that can utilize/call each of your functions.

That's where you start. None of this should be on the computer, other than as notes. Do NOT write any code until you know what you are going to do -- in minute detail -- otherwise your project is likely to fail from poor planning.

Here's also where you can look into "The Things I Cannot Do Yet" list and start learning them.

One good traditional advice from WaltP. There is many approaches of course. Other good way to start is to start from different use cases, which you can use as base for tests. You implement functions/objects one by one and rerun unit tests to verify your progress and stop regressions showing up.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.