The waterfall method

The waterfall method was the first Software Development Cycle Model used widely in Software Engineering. In this method, the process of software development is divided into separate phases, the outcome of one of phase acts as the input for the next phase sequentially.

A representation of different phases of waterfall model.

SDLC Waterfall Model

The phases of the waterfall method are:

1. Requirement Gathering & Analysis: Ask the client what their needs and expectations are.
2. System Design: Requirements for the System and Hardware specification to define overall architecture.
3. Implementation: Program is developed in small units and tested (Unit Testing).
4. Integration and Testing: All units are put together and tested for faults and failures.
5. Deployment: After functional and non functional testing, the product is delivered.
6. Maintenance: Regular updates and issue resolving.

The advantages of using the Waterfall Method are:

  • Is easy to comprehend
  • Allows for departmentalization and control
  • Each stage can have a predetermined due time

 

 

Although, it has the disadvantage of being unable to go back if one of the steps has a mistake that was discovered in the next stages.

Tech Target. (2016). waterfall model. August 8th, 2016, from Tech Target Website: http://searchsoftwarequality.techtarget.com/definition/waterfall-model

http://www.tutorialspoint.com. (2016). SDLC – Waterfall Model. [online] Available at: http://www.tutorialspoint.com/sdlc/sdlc_waterfall_model.htm [Accessed 12 Sep. 2016].


Software Configuration Management

Geometric decorationStatistics:

  • 53% of software projects overrun their schedules and budgets
  • 31% are cancelled
  • Only 16% are completed
  • Projects made by large American software companies approximate to only 42% of clients’ requests.

Source: Keyes, J. (2004). Software Configuration Management. Boca Raton: Auerbach

SCM basic tasks:

Development and production of:

  • Configuration identification
  • Configuration change control
  • Configuration status accounting
  • Configuration auditis

Integration: consists on putting together the individual software parts in one single big project.

Types:

  • Merge: parallel development on the same stuff
  • Assembly: development of different pieces

Resultado de imagen para software configuration management

Software Configuration Management started in the 1950s, when configuration management, that was used for hardware and production control, was applied in software development.

Nearly all components that comprise modern information technology, such as Computer Aided Software Engineering (CASE) tools, Enterprise Application Integration (EAI) environments, Extract/Transform/Load (ETL) engines, Warehouses, EII, and Business Intelligence (BI), contain a great deal of metadata as well as his own repository and designer. That’s why metadata CM activities must be used in order to have effective information management.

The purpose of Software Configuration Management is to establish and maintain the integrity of the products of the software project throughout the project’s software life cycle. Software Configuration Management involves identifying configuration items for the software project, controlling these configuration items and changes to them, and recording and reporting status and change activity for these configuration ítems.

Configuration Management is practiced in one or another form as part of any software engineering project where several individuals or organizations have to coordinate their activities.

Software Engineering Institute. Capability Maturity Model Integration, Version 1.1 CMMI for Systems Engineering and Software Engineering (CMMI-SE/SW, V1.1) (CMU/SEI-2000-TR-018, ADA388775). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2000.

The reason for using SCM system is to keep track of the changing entities of a software product in

Continue reading "Software Configuration Management"