WHAT IS SOFTWARE DEVELOPMENT LIFE CYCLE?
The Software Development Life Cycle (SDLC) can be explained as:
1. Veracode.com defines SDLC as:
The Software Development Life Cycle (SDLC) can be explained as:
- a model of the system or application's management routine; it's the guiding factor in how an application should be defined, built, designed, developed, tested, and maintained. It governs the overall development procedure and provides methodologies that aims for an efficient, secure, and high-quality end product in all dimensions, as much as possible.
1. Veracode.com defines SDLC as:
"A software development lifecycle is essentially a series of steps, or phases, that provide a model for the development and lifecycle management of an application or piece of software."
Source: http://www.veracode.com/security/software-development-lifecycle
2. Tutorialspoint.com defines SDLC as:
SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.
Source: http://www.tutorialspoint.com/sdlc/sdlc_overview.htm
As of today, there are many SDLC models that you can use depending on the type of development project. Each development project can have unique needs and some factors you need to consider are the scale, the time frame, the requirements, and the budget of the project.
SDLC Models
WHAT IS OBJECT-ORIENTED PROGRAMMING?
The Object-Oriented Programming, also known as Object-Oriented Analysis and Design, makes use of Unified Modelling Language (UML) and diagrams to represent the code implementation during the Systems Analysis Phase. In order for this approach to be effective, the key is to do it excellently by breaking down the development tasks into small subsets, deeply analyzing them, and making that analysis visual by drawing the diagrams and the objects' relations to one another.
OOP Procedure
SDLC Models
- Agile
- RAD
- Spiral
- Waterfall
- ...and many more.
WHAT IS OBJECT-ORIENTED PROGRAMMING?
The Object-Oriented Programming, also known as Object-Oriented Analysis and Design, makes use of Unified Modelling Language (UML) and diagrams to represent the code implementation during the Systems Analysis Phase. In order for this approach to be effective, the key is to do it excellently by breaking down the development tasks into small subsets, deeply analyzing them, and making that analysis visual by drawing the diagrams and the objects' relations to one another.
OOP Procedure
- Problem Description
- Build the use-case diagrams that represents the end users and the individual features of the system.
- Explicitly write each use-case scenario. (If you have the flexibility, this is the perfect area to make use of workflow diagrams. Personally, I prefer to use workflow diagrams in substitute of this for the reason that a workflow diagram will be able to visually show you the flow of a feature's functionality. In addition, you can also include the details you would've had from traditional use-case scenario descriptions.)
- Systems Analysis and Design
- Build the activity diagrams, sequence diagrams, class diagrams, package diagrams, statechart diagrams, deployment diagrams, and the rest of the diagrams you need to build the system
- Implementation
- Review and modify diagrams when necessary. You may also do this as your actual development progresses.
- Complete the technical specifications.
- Draw your wireframes! :-)
- Develop the system.
- Finalize documentation.
Object-oriented techniques are thought to work well in situations in which complicated information systems are undergoing continuous maintenance, adaptation, and redesign. Object-oriented approaches use the industry standard for modeling object-oriented systems, called the unified modeling language (UML), to break down a system into a use case model.
Source: http://www.w3computing.com/systemsanalysis/object-oriented-systems-analysis-design/
SDLC, OOP, OR A COMBINATION OF BOTH?
Your development team has to reach a consensus on which systems development approach to use, and choose . The SDLC can produce excessive documentation but will provide you with good amount of information that's sufficient enough to undertake an existing application. The OOP, on the other hand, can be heavily reliant on diagramming which can offer little room for words and descriptions in certain areas of development, including systems analysis phase. If you'd like to use a combination of both to fill what the other lacks, again, your team has to reach a consensus in where and in which parts to apply the OOP, or the SDLC.
Please be aware that aside from SDLC and OOP, there are other approaches available.
Your development team has to reach a consensus on which systems development approach to use, and choose . The SDLC can produce excessive documentation but will provide you with good amount of information that's sufficient enough to undertake an existing application. The OOP, on the other hand, can be heavily reliant on diagramming which can offer little room for words and descriptions in certain areas of development, including systems analysis phase. If you'd like to use a combination of both to fill what the other lacks, again, your team has to reach a consensus in where and in which parts to apply the OOP, or the SDLC.
Please be aware that aside from SDLC and OOP, there are other approaches available.
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION (ISO)
The ISO develops and publishes international standards on a wide range of industries including occupational health and safety, environmental management, social responsibility, food safety, information security and management, risk management, medical devices, etc. They are also the publishers of ISO/IEC 12207. The ISO/IEC 12207 is the international standard for software life cycles. Please go to www.12207.com for more details.
The ISO develops and publishes international standards on a wide range of industries including occupational health and safety, environmental management, social responsibility, food safety, information security and management, risk management, medical devices, etc. They are also the publishers of ISO/IEC 12207. The ISO/IEC 12207 is the international standard for software life cycles. Please go to www.12207.com for more details.