SE Overview Q & A #2

Question:Describe the importance of software Engineering? What should be steps taken under the process of developing a software system.


Software Engineering

Software Engineering is a part of computer science in which several kind of method, thoughts and techniques used for getting the high quality software and computer programs.

  1. Minimum cost

  2. On given time

  3. Continuous production

We can judge the usefulness of the software Engineering with the importance of its attributes. Both are used for the same manner. The basic target of software Engineering is to provide the high quality software, which can be delivered.

  1. On given time,

  2. Within budget &

  3. That fulfills the need.

Thus we can say that this is the best way or programs to get the following points:

  1. To provide the best output of software system.

  2. To make easy to use the software systems and develop them.

  3. To improve the rate of production.

  4. To maintain the budget for development of Software system.

  5. Job satisfaction of software engineering.

It is necessary to produce a high quality software to fulfill the below given points.

  1. Consistency

  2. Improved quality

  3. Minimum cost

  4. Within time

  5. Reliability &

  6. Fulfill the need of user

Steps used while developing a software system

To achieve consistency, software development process is divided into set of phases. Various methods, tools & techniques are applied to accomplish each phases. The process of developing a software system is divided in two parts to bring the consistency in this process. To complete the software developing process several kind of methods, Techniques, used. Below given steps are used to develop a software system.

Steps used while developing a software system
  1. Statement of problem & system study - The first step of system development process is started with statement of problem & system study. In this step, we get the more knowledge from everywhere on computer and manually. With the help of this knowledge we find out the errors at the present time software system which is need to change for improvement. Here several important points are given on this stage which is:

    1. Full knowledge of problems and errors.

    2. Ability to improve

    3. Find the target for achieving.

    4. Find out the benefits which should be in new software.

    5. Find the area of plan which is affected after that change.

    If we study the problems then it is necessary to think about the other solutions of the problem and the cost of it which should be in the budget of the user. For this improvement a lot of skill and attention required.

  2. Study of work ability - On the basis of first steps result we moves for the next step which is about the study of work ability. In this step we think about the present system and future system and compared them. The area of comparison is skilled manpower, estimated time period, and other important things. A study of work ability helps to decide the important things.

    • This plan is in our favor or not.

    • We are capable for the required resources or not.

    • Think again.

    • Many types of work ability checked.

    1. Technical work ability -

      • We have the required technology?

      • With the available tools can we developed the new system?

      • Can the future system provide the result as required?

      The new system will be more suitable for the user or not it is checked by the expert. For Example: If a software actual requirement to develop visual basic with oracle at a backend. But here we use less than 48 processer with 14 bit word length then this software will not be technically sound. It is concerned about the used technology and tools which are satisfying the need of the system or not.

    2. Social work ability - This is the study of user behavior that people like or dislike the new software.

    3. Economic work ability - This factor is determined that new software benefits and savings is more in the comparison of old software.

    4. Legal work abilit - Legal work ability determined that the new software is under the govt. rule or not. According to the result of the work ability study it is analyzed to reach the following:

      • Formulation of the different solution planning.

      • To check the other solution planning & their benefits and compared them.

      • Find out the best output and annualizes him.

  3. Software need analysis and specification - Analysis is a study of following factors which plays a major role in this step.

    • By the system many kind of activity are performed.

    • Connections between many functions and sub systems.

    • Finally the relationship out of the boundary of system.

    Need analysis - The main objective of need analysis is to understand what the user expectation with this software and collection of data and information about that.

    • Working capacity

    • performance

    • easy to use

    • easy to maintain

    During this process several kind of tools and method used .flow chart, collected data, diagram and etc. are the part of this exercise. After the resolution of all problems and needs regarding this, information is organized into a software need specification document.

    Software need specification - This topic covers the following points:

    • All the document of the user should be arranged in a systematic way,

    • Nature of its interface

    • Need of hardware

    • Base of agreement

    • Moral, legal coordination between client and developer

    • A detailed plan

    • To analyses and confirmation by the customer that it have all quality which is expected by customer.

    • With the help of software engineers to develop a solution.

  4. Software design and specification - During the process of this step need specification converted in to a base, which is used in programming language. We have two types of approaches:

    1. Traditional Approach - This approach is also divided in two parts which are

      • First part-

        1. Specific needs of this software is moved out.

        2. Structured analysis is converted in to a shape of software design.

        3. Analysis of many functions, flow chart of data is a part of structured analyses.

      • Second part- Architecture design takes place after analysis of structured.

        1. Which components are required.

        2. The general base of the software.

        3. The programs provided by every design.

        4. Interfaces between modules.

        5. Data base and result form of the system.

    2. Object oriented design - In this design many kind of object raised in the domain of problem and relationship between these objects is figured out.

  5. Coding and module testing - Coding phase comes after the software design. Coding is a process with the help of this we can convert the shape structure in to a programming language. Every part of the design is a program module. Hare every module checked for the surety of module that is according to the need.

  6. Integration and system testing - In this phase as a whole system all modules which are tested jointly according to architectural design. For getting the information that interconnection concerned to modules are correct or not this step taken by the developer. Effects of testing helps to get

    1. Production of high quality software

    2. User more satisfied

    3. Cheap cost of maintenance

    4. Accuracy

    5. Result of surety

    This system is tested only for getting the information that it is according to SRS or not. At the last this test is done in the client presence.

  7. System Implementation - System implementation means providing the information on client site. We have three types of implementation.

    1. Direct conversion

    2. Phased conversion

    3. Parallel conversion

  8. System Maintenance - This step is required after that when customer use our software and getting some problems .These problems can be related to website, installation and operational. Maintenance divided in three parts.

    • Corrective maintenance - During the process of software development corrective fault not found or discovered.

    • Perfective maintenance - Under this step functions which are performed by this software increased according to the need of customer.

    • Adaptive maintenance - Transform the software to new operating system, environments or to a new computer is called Adaptive maintenance.