Wednesday, 8 July 2015

A Structured approach to Software Developmet

Software development is the process of programming, testing, debugging and maintaining an application that results in software product. Software development is step by step method. Different methodologies are used for the development of software e.g. AJAX and Waterfall approach.
Software is developed for variety of purposes but the main purposes of software development are to meet specific need of a user’s.
 Software Development Methodology
There are variety of software development approaches are being used by developers but each of the methodology has its own strengths and weaknesses.  Software development methodology is a structured and well-engineered process. Most methodologies share the combine stages that are
·         Requirement Analysis
·         Planning
·         Designing
·         Coding
·         Testing
·         Deployment and Maintenance
·         Requirement Analysis Phase
Requirement analysis is the phase in which requirement engineers determines the needs or requirement for the development of new or altered product. Different requirements of different stakeholders can conflict with each other. But it is a task of an requirement engineer to analyse, document, validate and manage the software requirements.
Requirements can be of different types:
·    
·         Architectural Requirements
·         Structural Requirements
·         Behavioural Requirements
·         Functional Requirements
·         Non-functional Requirements
·         Core Functionality and Ancillary Functionality Requirements
·         Performance Requirements
·         Design Requirements
·         Derived Requirements
·         Allocated Requirements

Planning Phase
During planning phase you decide what you want to do, what is the problem and what is its solution. In planning phase we define the scope of our project or product. The basic activities that are involved in planning phase are:

  • Define the problem, propose its solution and identify the resources and capital required.
  •  Generate alternative solutions.
  • Picking up a good development strategy that helps your product beat your competitor’s product.
Design Phase
Once the requirements have been gathered and resources and other capitals are defined. The next step is to produce the initial design of your product.
It is also called logical designing. In design phase we design the system architecture that helps has evaluate the software and hardware requirements also. Design development can be done in variety of ways some of which are Data Flow Diagrams, UML schemas, Prototyping and Diagramming.
Coding Phase
Coding of design is done in a computer language. In coding phase, all the code is written and then run on computer. If Hardware is required, hardware configuration is done. The product or project is prepared to run in an operational or user environment.
Testing Phase
Different components of the system are integrate together and then testing is applied on individual components and subcomponents. A component is tested by giving different inputs and the resulted outputs are then recorded in order to deduce results. Testing have different types, some of them are Black box testing, White Box testing, Integration testing and Load testing.
Deployment and maintenance
After the successful testing product is then delivered to the customer for their use. Deployment usually Includes Customization and Installation. Maintenance is the process of checking product’s faults and drawbacks and improve it for the future use. Maintenance is the process of evaluating System’s performance.


No comments:

Post a Comment