Comments on Software Development


  • There are several methods used for program design. One is called Structured Design. This method of design began in the 1960's. It was used in COBOL, C and other early languages. This will be one of the major design methods used in this lecture.

  • Another method of design is called Object Oriented Design. This method began in the 80's. It is used in C++, Java and C#. This method of design will also be studied.

  • With the introduction of Windows another method of design was created: Graphic User Interface. Two other methods of design that were created with the introduction of Windows are Component Oriented Design and Event Oriented Design. These three methods began in the late 90's. They are the foundation of language: C# from Microsoft and Java from Sun MicroSystems. These three methods will be the major points considered in this course.

  • In most texts today, the authors state that a well structured program has no GOTO. While I support this position, you should be aware that older languages: e.g. COBOL, BASIC, C, and even C++ all have a GOTO and some people use this command when structured programming techniques do not seem to solve the problem at hand. Even C# has a GOTO command as well. However be very careful if you use it in your work.

  • While it is true that some of the languages you may encounter will have nonstructural constructs, you should learn these techniques because you will find that when used properly, they improve your software development and when it becomes necessary to violate the structured programming rules, you will understand why you would take this direction and you will understand the consequences of this deviation.

  • In some companies one or more of the 5-phases or parts of them are sub jobbed out. For example some recommend that the testing phase be done by an outside company. Their recommendation is based on the fact that members of the company's staff may not be as unbiased when reviewing the system development or parts there of.

  • The greater the risk of the system failing the greater the need for in depth analysis, design and formal documentation.

  • Another modification of the 5-phases being used is called "off shoring". In this approach, the coding phase is jobbed out to a programming company frequently in another country. This approach sometimes reduces the cost of programming.

    When the project is off shored, then the specifications and the design documents need to be more detailed to ensure that the off shore members of the team understand the project. This requirement can add to the cost of the project because those who are involved at this level of the project cost more than at the lower levels of the project. Because of the need for this additional managerial monitoring, the actual cost of sub jobbing or "off shoring" may not be less but in fact it may be greater than doing the 5-phases all in-house.

  • Instead of either programming in house or off shoring, some companies consider buying off the shelf software. Reasons for considering this approach are that the analysis and design needs are expected to be less. However in some cases this is not true.

  • Each of the five phases should be documented. The types of documentation used for each phase is specific to that particular phase. Some authors call the last phase of software development the documentation phase where all of the documentation is brought together. In some companies there is even a company program documentation librarian to keep track of all of the program documents.

  • While these notes shall discuss only the 5 phases for software development, the actual number of phases of program development is more than five.

    • There is a phase called: System Analysis Phase that considers the analysis of the whole system including the human and the hardware parts of the system. This phase is in addition to the pure software approach that will be considered in this lecture. In this lecture the design view will be only that of the software.

    • Further, there is another software phase that will not be considered in this lecture and it is called the Deployment Phase. This phase considers the implications and the process of the deployment of the software including the training of the users, development of a user's manual and even the development of a help center.

    • The data stored in the computer systems that you will work on should be considered as company assets. As such, they should be guarded or protected as all company assets are. This consideration creates a phase that could be called the Security Phase. The Security Phase should begin with the first discussion of the system requirements and continue throughout the system's life cycle.

As stated above, there may be additional phases or steps that your project will pass through depending on the company you work for. You should consider taking additional courses that concentrate on the other phases of program development.




Intermediate Business Programming with C++
Intermediate Business Programming with C++
ISBN: 738453099
EAN: N/A
Year: 2007
Pages: 142

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net