Different kinds of software codes
* Legacy code
* Beautiful code
* Unexpectedly short lived code
Legacy code : Old software meet customer's needs, but difficult to evolve due to design inelegance.
Beautiful code : Software meet customer's needs and easy to evolve.
Unexpectedly short lived code : Softwares that doesn't meet customer's needs. It takes long period to develop and it disappears within a short period.
Software development life cycles
* Waterfall model
* Spiral model
* Agile model
Waterfall model : It is a sequential design process , in which progress is seen as flowing downwards through the phases, such as:
*Requirement specification
* Design
* Coding
* Integration
* Testing and debugging
* Installation
* Maintenance
Spiral model : This process combines prototyping with the designs in each steps. This model combines prototyping features and waterfall model. Thus it allows for incremental releases of the product through each time around the spiral.
Agile model : Continuous improvements and continuously refine working but incomplete prototype until customers happy, with customer feedback on each iteration and Test Driven Development (TDD) to reduce mistakes.
Assurance
* Verification - Did you build the thing right
* Validation - Did you build the right thing
* Testing - Not a exhaustive testing
* Use Automation, Coverage, Regression testing, Integration testing, Test Driven Design
Productivity
* Clarity via conciseness
- Syntax: short and easier to read
- Raise the level of abstraction
* Synthesis
-Automatic code generation
* Reuse
- Procedures and functions
- Standardized Libraries
- OOP
- Design Patterns
* Automation and tools
- Replace long and dull manual tasks with automation to save time and
improve accuracy
- Dependability or User interface
Software as a service ( SaaS )
* SaaS delivers software & data as a service
* No worries in installation
* No data loss
* Easy for groups to interact with same data
* Easier upgrading features
Service oriented architecture ( SOA )
* Software architecture, where all components are designed to be services
* Applications composed of inter operable services
Demands of SaaS
* Communication
* Scalability
* Dependability
* Cluster - commodity hardware
* Utility Computing / Public Cloud Computing
Cloud Computing
font-size: 15px;
In the SaaS model, cloud providers install and operate application software in the cloud and cloud users access the software from cloud clients. The cloud users do not manage the cloud infrastructure and platform on which the application is running. This eliminates the need to install and run the application on the cloud user's own computers simplifying maintenance and support. What makes a cloud application different from other applications is its scalability. This can be achieved by cloning tasks onto multiple virtual machines at run-time to meet the changing work demand.
[Expecting Your Valuable Comments]
Thank You
No comments:
Post a Comment