Friday, August 10, 2018

WHAT IS SOFTWARE DEVELOPMENT METHOD ?

The entire process of software development and implementation involves a series of steps. Each successive step is dependent om the outcome of the previous step. Thus, the team of software designers, developers and operators are required to interact with each other at each stage of software development so as to ensure that the end product is as per the client's requirements.
The various software development steps are :

1 Analysing the Requirements : In this step, the requirements related to the software, which is to be developed, are understood. Analysing the requirements or requirement analysis is an important step in the process of developing a software. If the requirements of the user are not properly understood, then the software is bound to fall short of the end user's expectations. Thus, requirements analysis is always the first step towards development of a software. The task of requirement analysis is typically performed by a business analyst. The person is a professional in this field who understands the requirements of the novice end user, and documents and shares it with the development team.

2. Feasibility Analysis : In this step, the feasibility of developing the software in terms of resources and cost is ascertained. In order to determine the feasibility of software development, the existing system of the user is analysed properly. Apart from the studying the existing system, this step involves identifying the need of automation in the existing system. The analysis done in this step is documented in a standard document called "feasibility report", which contains the observations and recommendations related to the task of the software development. 

3. Creating the Design : After the feasibility analysis stage, the next step is creating the architecture and design of new software. This step involves developing a logical model or basic structure of the new software. For example, if the new software is based on client server technology then this step would involve determining and specifying the number of tiers to be used in the client-server design. This step also involves documenting the varied specifications pertaining to database and data structure design. The flow of the development process is mainly illustrated in this stage using a special language known as "Unified Modelling Language" (UML). UML uses pictorial representation methods for depicting the flow of data in the software. Some of the key features, which are considered while designing a software, are extensibility, modularity, compatibility, fault tolerance, maintainability.

4. Developing Code : In this step, the code for the different modules of the new software is developed. The code for the different module is developed according to the design specifications of the each module. The programmer in the software development team use tools like compilers, interpreters and debuggers to perform tasks such as finding errors in the code and converting the code into machine language for its execution. The code can be written using programming languages such as C, C++ OR Java. The choice of the programming language to be used for developing the code is made on the basis of the type of software that is to be developed. There are certain key points for conversions, which must be kept in mind while writing the code; for instance :
  • There should be proper identification in the code.
  • Proper naming conventions should be followed for naming the variables, methods and program files.
  • Proper comments should be included to ensure ease case of understanding during maintenance.
  • The code must be logically correct so as to minimise logical errors in the program.
5. Testing the Software : Testing the basically performed to detect the prevalence of any errors in  the new software and rectify those errors. One of the reasons for the occurrence of errors or defects in a new software is that he requirements of the users or clients were not properly understood. The various testing methodologies include :
  • Black box testing
  • White box testing
  • Gray box testing
  • Nonfunctional testing
  • Unit testing
  • Integration testing
  • System testing
  • Acceptance testing
6. Deploying the Software : In this step, developed and fully tested software is installed in its target environment. Software documentation is handled over to the users and some initial data are entered in the software to make it operational. The users are also given training on the software's interface and its other functions.

7. Maintaining the Software : Once the software has been deployed successfully, a continuous is provided to it for ensuring its full time availability. A corrupt file, a virus infection and a fetal error or some of the special situations where the maintenance personnel are asked to fix the software and bring it back to its normal functioning. Further, a software may also be required to be modified if its environment undergoes a change. In order to successfully maintain the software, it is required that it should have been properly documented at the time of its development. This is because the maintenance person might not be the same who was originally involved in the development of the software. Thus, a good code documentation serves vital for the maintenance person to fix the software.

No comments:

Post a Comment

Applying Software Development Method

To understand how software development method is applied, Consider a simple scenario where it is required to convert the temperature given ...