---
# System prepended metadata

title: 'UOB INTERNSHIP DAY #2'

---

# UOB INTERNSHIP DAY #2
[toc]

## Learning

### SDLC (Software Development Life Cycle)
             - Requirement
             - Analyse
             - Design
             - Implement 
             - Test
- Software Development requires time and cost and to lower this we use the SDLC.
#### ==**Requirement**== 
Entails the User requirement which can be distilled by using test cases e.g:
![](https://i.imgur.com/PXtEcvK.png)
So this indicates how the user may interact with the system. Further requirements can have a **Business** and **Domain** model The business is basically who the users of the software are wheras the domain is the requirements for the software. You can think of a map app, the domain would be the GPS, system location whereas the business could entail paid and unpaid users.![](https://i.imgur.com/nabI6Xp.png)
Apart from this there are functional and Non-functional requirements which are the requirements of the system whereas non-functionality entails optimization.
#### **==Analyse==** 
where we analyse how and where requirements interact and what it means for the system.![](https://i.imgur.com/Rhxjvjs.png)
Analysis classes are basically things in the system that is segments of the sytems that have a responsiblity and a function. And analysis also involves removing any contradictions in the requirement and maooing an internal view of the system

#### **==Design==** 
involves collaberation between different aspects of the system. An aspect/component has its own responsibility which is fulfilled with the help of code.A component exchanges information by calling methods of other components.![](https://i.imgur.com/S5mY6aP.png)
It basically involves decomposing the system into functioning individual units which can be implemented 

#### **==Implement==** 
involes the actual coding and implementation and unit testing and devising the deployment method. 
![](https://i.imgur.com/nkdygf4.png)
#### **==Test==** 
Creating test cases and running tests and analysing the results
![](https://i.imgur.com/Qvum1kE.png)

### SDLC Methodologies
#### **==Waterfall==**
- Developed in 1956 
- Waterfall involves a seqential series of steps with heavy documentation 
- It moves from one step to another like a waterfall
- ![](https://i.imgur.com/6JMJGm3.png)
- The problem with this is if I am consumer and I tell UOB sofware development team that i want a new feature them implementing my wish as a client becomes near impossible and they have to go through this process again.
#### **==Rapid Prototyping==**
- This involves developing rapid prototypes by taking inputs from the user. ~~**Not too important, so i just learn what it meant**~~
#### **==Iterarion and Incremental Development==**
- This is very similar to agile:
- ![](https://i.imgur.com/0CqL9dJ.png)
- They go through sprints of RAIT and release the product at every incerement. 
### - **QUESTION: WHAT IS THE DIFFERNCE BETWEEN THIS AND SCRUM IMPLEMENTATION OF AGILE?**

#### **==Agile==**
- Agile is the most popular SDLC methodology which is implemented,so I have created a separate hyperlink for agile
- [AGILE](/ClBgQmkuS1uIKNZpK9vnLA)


