Search | Contact | Link To Us  

     VB .NET     

.NET Defined
OOP with VB
VB Language
Win Forms
Windows Controls
ADO .NET
User Controls
File Handling
Multithreading
Deployment
XML Web Services
Essential XML
Resources
Discussions
ASP.NET
About



Advertisement











     Home> Software Development


Software Development 

Software development is the process of developing software through successive phases in an orderly way. It is a complicated process as it requires careful planning and execution to meet the goals. Different phases in this development process  include, the actual writing of code, preparation of requirements and objectives, the design of what is to be coded, and confirmation that what is developed has met objectives. Before systems development methods came into existence, the development of new systems or products was often carried out by using the experience and intuition of management and technical personnel. However, the complexity of modern systems and computer products long ago made the need clear for some kind of orderly development process.

The different phases involved in Software Development are as follows:

1) Identification of required software
2) Analysis of the software requirements
3) Detailed specification of the software requirements
4) Software design
5) Programming
6) Testing
7) Maintenance

The Development Process

The software development process is guided by some systematic software development method (SDM). Also  referred by a number of terms, like process models, development guidelines, and systems development life cycle models (SDLC). All these Software Development methods generally include the following development phases:

  • The existing system is evaluated and its drawbacks identified, usually through interaction with system users and support personnel.
  • The new system requirements are defined, the drawbacks in the existing system are addressed with specific proposals for improvement.
  • The proposed system is designed and plans are laid out concerning the physical construction, hardware, operating systems, programming, communications, and security issues.
  • The new system is developed and the new components and programs are obtained and installed. Users of the system must be trained in its use and all aspects of performance is tested. If necessary, adjustments are made at this stage.
  • The system is put into use. This can be done in different ways. The new system can phase in, according to application or location and the old system gradually replaced. In some cases it may be more cost-effective to shut down the old system and implement the new system all at once.
  • Once the new system is up and running for a while, it is exhaustively evaluated. Maintenance is kept up rigorously at all times. Users of the system are kept up-to-date concerning the latest modifications and procedures.

Systems Development Life Cycle Model

The Systems Development Life Cycle model was developed as a structured approach to information system development that guides all the processes involved from an initial feasibility study through to maintenance of the finished application. SDLC models take a variety of approaches to development. Some of these life cycle models include:

The Waterfall Model: A classic SDLC model, with a linear and sequential method that has goals for each development phase. The waterfall model simplifies task scheduling, because there are no iterative or overlapping steps. One drawback of the waterfall model is that it does not allow for much revision.

Rapid Application Development (RAD): This model is based on the concept that better products can be developed more quickly by using workshops or focus groups to gather system requirements.

Joint application development (JAD): This model involves the client or end user in the design and development of an application, through a series of collaborative workshops called JAD sessions.

Prototyping Model: In this model, a prototype (an early approximation of a final system or product) is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed.

Synchronize-and-Stabilize: This model involves teams working in parallel on individual application modules, frequently synchronizing their code with that of other teams and stabilizing code frequently throughout the development process.

Spiral Model: This model of development combines the features of the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and complicated projects

Choosing The Right Programming Language for the Project

For most projects, the right language is easy to choose. The company may have standardized on a particular development environment and language. It's always best to use the same language the existing program is written in. In some cases, however, someone will need to select the best language or the team of developers may need to know several languages for different purposes.

General break down of programming languages and what they are used for:

Perl or a similar script language is most suitable for small tasks and sometimes as a program that goes between other, larger programs.

Visual Basic is most suitable for relatively novice programmers and relatively simple programs.

Java, C++, or comparable languages like Python are most suitable for larger applications using object orientation as a design model.

C is most suitable for programs where efficiency and performance are the primary concern.

The appropriate assembler language is most suitable where the program is relatively short and high performance is critical.

Where constraints permit, some programmers may favor one object-oriented language over another (for example, Java, C++, Python). A programmer with skills in C is likely to prefer C++, which combines the procedural and other concepts and syntax of C with object-oriented concepts.

Some current trends with Software Development

Outsourcing: Using this approach, software companies hire employees around the world to take advantage of time zone and labor/cost differences. With this, software development teams now have a 24-hour work day, and are able to provide fast turn-around. Outsourcing parts of a project leads to sloppy coding and only works if there is a high degree of coordination regarding modularized tasks, and above-average communication within the team.  

Blogs: A growing number of big-name software developers are finding that they can make better software applications if they share information with potential customers from the start and incorporate customer feedback into development decisions. Blogs (Web logs) is becoming an important part of the development process where developers exchange ideas.

Component-based development: In this approach, software is developed in modules that are linked dynamically to construct a complete application.

Independent software vendors (ISVs): Big players like Microsoft, IBM, and Sun have recognized that they cannot fill every niche industry's software demands, so they have begun to actively seek partnerships with small ISVs, in hopes that by encouraging ISVs to focus on niche vertical industry applications, everyone will benefit.

Aso See: SDLC

  Privacy Policy | Terms of Use | Site Map | Contact

  © 2004-2010 Startvbdotnet.com. All rights reserved.