What is a Good Design ?

Design could mean many things, but often refers to functional design or internal design. Good functional design is indicated by software functionality can be traced back to customer and end-user requirements. Good internal design is indicated by software code whose overall structure is clear, understandable, easily modifiable and maintainable; is robust with sufficient error handling and status logging capability; and works correctly when implemented

What is Quality ?

Quality software is software that is reasonably bug-free, delivered on time and within budget, meets requirements and expectations and is maintainable. However, quality is a subjective term. Quality depends on who the customer is and their overall influence in the scheme of things. Customers of a software development project include end-users, customer acceptance test engineers, testers, customer contract officers, customer management, the development organization’s management, test engineers, testers, salespeople, software engineers, stockholders and accountants. Each type of customer will have his or her own slant on quality. The accounting department might define quality in terms of profits, while an end-user might define quality as user friendly and bug free

Software Development Process

Plan: Device a Plan
Define your objective and determine the strategy and support methods required to archive that objective
Do: Execute the plan
Create the conditions and perform the necessary training to execute the plan.Make sure every one thoroughly understands the objectives and the plan.
Check: Check the result
Check to determine whether work is progressing according to the plan and whether the expected results are obtained. Check for performance of the set procedures, changes in conditions, or abnormalities that may appear
Act: Take necessary action
If your checkup reveals that the work is not being performed according to plan or that results are not what was anticipated , devise measures for appropriate action.Testing only involves only check component of the plan-do-check-act(PDCA) cycle
pdca

Software Development Life Cycle (SDLC)

1. System Information/Engineering and Modeling
a.The initial proposal phase to understand and identify the project requirements and main features proposed in the application
b. By the end of the study the entire client systems, the team furnishes a document that holds specific recommendations for the candidate system. Out Put of this phase

  • A rough estimation of efforts and prices for entire project
  • A Rough Schedule for entire phase
  • Initial business functions in the project

2. System Requirement Analysis & Specification
The objective of this phase to identify and document the user requirements for a proposed system.This phase contains complete information of function, information of the domain for the software,behavior,performance,Interfacing.Out put of this phase is

  • An estimate for effort or price for remaining project phases(Design, Development, Testing Deployment, Support)
  • Details Schedule of the remaining Phases(Design, Development, Testing, Deployment, Support)
  • The final functional specification and analysis for other phases

3. System Analysis and Design
a. This process of designing exactly of the specifications are to be implemented
b. How the software to written, including object model with properties and methods, Database Designing,client server architecture. Out put of this Phase A Final Design Specification
4. Code Generation
a. Design Must be Formatted in to machine readable format
b. With respect of the application the right programming language is used,

  • A Beta version of application
  • Preliminary Manuals and user document
  • Preliminary Technical Documents

5. Testing
Once code is generated Program testing begins.Different testing methodologies are available to unrevealed the bugs.Out put of this phage

  • A Final version of complete application
  • A Final Manual
  • A Final Technical Document

6. Deployment & Maintenance
In This software ready to deploy in customer place, maintenance period starts for the application.Application should create accept the changes in this phase