Todays Software Development Methodology Situation
Today the world is changing from customary to techno savvy
. This article explains todays software development situation.
Software is more complex than hardware due to its many states or modes of behavior. Software complexity is described as proportional to some factorsay, Ndepending on the type of program, times the number of inputs, I, multiplied by the number of outputs, O, to some power, P. Thus
Software complexity = N*I*OP
Computer Complexity
Todays software development has no manufacturing component. Bug-free software must be created far upstream in the design process.
Software Development Strategies
The software development models are mainly software application developer-focused than being customer centric. Importance is given to project cost and implementation rather than customer satisfaction.
The software development methods involve:
Specification
Architecture
Programming
Testing
Documentation
Maintenance
Software Development Models
Build-and-Fix Model
Products quality not addressed properly
Lack of proper feedback
Corrections introduced as bug fixes, service packs, or upgrades
This Model is not widely accepted today.
Waterfall Model
Represented as a flow form to:
Establish requirements
Design creation
Implement programs
Test system and release to customer
It has single-level feedback paths.
Rapid Prototyping Model
Used in the development of on-off programs
Performs essential set of functions for the final product
This process is quicker than the waterfall model.
Incremental Model
Delivers an operational-quality system
Respond to critical specification changes
Consumes more time
Extreme Programming (XP)
Benefits small to medium-size systems
Works with changing requirement
Flexible model
Spiral Model
Used for the internal development of large systems
Adds feedback to earlier stages
Assess risks during development
Helps in development of major programming projects
Object-Oriented Programming (OOP)
Allows designing, writing, and documenting programs
Reduced complexity and increased program reusability
Evolutionary Model
1. Continuous feedback between each stage
2. Procedural and object-oriented program development
Improvement of Software Process
RUP, CMM, and ISO 9000 software process improvement development models are the set of technologies yielding good results. They ease the repair of any errors and bugs .These methods are used by military and aerospace contractors.
Rational Unified Process (RUP)
This process allows changes in functional requirements also to be accommodated as they inevitably change during system development.
Capability Maturity Model (CMM)
This is an organizational maturity model, based on four principles:
Evolution
Distinguishable stages
Predictable ways
Lasting changes
ISO 9000-3 Software Development Guidance Standard
Its a guideline for the application of standards to the development, supply, and maintenance of computer software. Its benefits are:
Quality software products
Advantageous to non-ISO 9000 certified development vendors
Assured quality
Defines the phases, roles, and responsibilities of the software development process
Measures the efficiency of the development process
Gives structure to the chaotic process
ADR Method
ADR stands for assembly (A), disassembly (D), and reassembly (R)the major aspects of component-based software development. These components manage the creation and processing of a form corresponding to an actual business form in its electronic instance.
Robust Software Development Process (RSDM)
Software is often characterized by high costs, low reliability, and unacceptable delays. So a multipronged strategy must be deployed to address quality issues in large and complex software such as enterprise applications.
RDSM is fast and Step-wise development process with feedback and iteration between stages.
Robust Software Development Model
It is a combined form of the cascade and iterative models with feedback at every level. It attempts to integrate the best practices and features from various development methodologies and is customer focused.
Conclusion
A new model is needed to develop increasingly complex software systems. Various models of software development aim to improve development productivity and/or enhance quality.
by: Holly Maxted
Agile Software Development Enables Faster Response To Changing Trends Best Data Recovery Software For Mac The Benefits Of Inventory Management Software Software Development Lifecycle Solutions For Smes Why Choose A Reputed Software Development Company? Opt In For Cloud Process Order Fulfillment Software How To Choose The Best Software For Maintaining Company Control What You Must Know About Password Management Software An Introduction To Erp Systems Software Software Development Company-best Software Services India Database Testing: An Emerging Trend In Software Testing Why Should You Prefer Offshore Software Development? Web Scraping Services, Data Recovery Software Adaptation Actions