Monday, January 25, 2021

System Analysis and Design

System Development Life Cycle (SDLC)

V-Model

It is an extension of the waterfall model, Instead of moving down in a linear way, the process steps are bent upwards after the implementation and coding phase, to form the typical V shape. 
The major difference between the V-shaped model and waterfall model is the early test planning in the V-shaped model.

The Usage:
  • For the projects where an accurate product testing is required
  • For the small and mid-sized projects, where requirements are strictly predefined
  • The engineers of the required qualification, especially testers, are within easy reach.

Agile Model

 System Development Life Cycle (SDLC)

Agile Model

It is based on iterative and incremental development, where requirements and solutions evolve through collaboration between cross-functional teams.

In the agile methodology after every development iteration, the customer is able to see the result and understand if he is satisfied with it or he is not.

It can be used with any type of the project, but it needs more engagement from the customer and to be interactive. Also, we can use it when the customer needs to have some functional requirement ready in less than three weeks and the requirements are not clear enough. This will enable more valuable and workable piece for software early which also increase the customer satisfaction.


Saturday, January 16, 2021

System Development Life Cycle

System Development Life Cycle (SDLC)

Waterfall Model
1. Planning
Planning is the most crucial stage of the SDLC process. It involves identifying and defining the project scope to determine a comprehensive action plan for the project, and pinpointing the issues the solution it would resolve. 

2. Systems Analysis

The planning is finished and the team is in place. Now, the team needs to perform an analysis of the system’s functional requirements to ensure it will meet the expectations of the target audience. Those expectations are then finalized and documented. The next step is performing a feasibility study to ensure that a system makes sense from financial, technological, and organizational standpoints.

3. Design
Once the analysis is over and the requirements are set in stone, the design phase begins. This phase describes how to approach the design of a system’s architecture, user interface(s), network, databases, and security so that they will satisfy the requirements and enable future updates. 

4. Development
The development marks the end of the preliminary part of the process and signifies the beginning of the production. Then, software engineers write code and fine-tunes the technologies involved in the project.

5. Implementation And Release
At this stage, the new system is rolled out to the production environment, replacing the old one. This stage is performed by moving new data and components to where the old system was. After the implementation, the system is available to end users.

6. Maintenance
After the release, any software system enters the stage of continuous maintenance. Today, any software product needs to be frequently checked for bugs and updated with features big and small. 

Software Programming

OOPS Concepts


Object-oriented programming System(OOPs) is a programming paradigm based on the concept of “objects” that contain data and methods. 

The primary purpose of object-oriented programming is to increase the flexibility and maintainability of programs. 

Object oriented programming brings together data and its behavior (methods) in a single location(object) makes it easier to understand how a program works. 

Principles of OOPS

They are an abstraction, encapsulationinheritance, and polymorphism


Abstraction is a process where you show only “relevant” data and “hide” unnecessary details of an object from the user. For example, when you login to your bank account online, you enter your user_id and password and press login, what happens when you press login, how the input data sent to server, how it gets verified is all abstracted away from the you.

Encapsulation is one of the best Java OOPs concepts of wrapping the

data and code. In this OOPs concept, the variables of a class are always hidden from other classes. It can only be accessed using the methods of their current class. For example - in school, a student cannot exist without a class.

Inheritance is one of the Basic Concepts of OOPs in which one object acquires the properties and

behaviors of the parent object. It’s creating a parent-child relationship between two classes. It offers robust and natural mechanism for organizing and structure of any software.

Polymorphism is the concept where an object behaves differently in different situations. There are two types of polymorphism – compile time polymorphism and runtime polymorphism.

Compile time polymorphism is achieved by method overloading.


Runtime polymorphism is implemented when we have “IS-A” relationship between objects. This is also called as method overriding because subclass has to override the superclass method for runtime polymorphism.

Advantages of OOPS

  • OOP offers easy to understand and a clear modular structure for programs.
  • It also enhances program modularity because every object exists independently.
  • OOP is faster and easier to execute
  • OOP makes it possible to create full reusable applications with less code and shorter development time