왜 SDLC입니까?제가 비재직 훈련에서 배운 거.

소개하다.


2020년 12월 이후 FIT 조정 견습생 프로그램에 참여해 왔다.이 프로젝트에서 우리는 대학 6개월 전의 소프트웨어 개발(우리는 탈산 교육이라고 부른다)을 배웠다.매주 며칠씩 재직 훈련을 하다.
만약 당신이 내가 어떻게 아일랜드의 한 금융 서비스 회사에 견습생으로 초빙되었는지에 대해 관심이 있다면, 참고하십시오.
현재 우리는 시스템 분석과 디자인 모듈을 배우고 있으며 지금까지 배운 내용을 총괄할 것이다.

왜 SDLC입니까? 누가 그것들을 배워야 합니까?


소프트웨어 개발의 생명주기는 많은 SDLC 방법의 통용 용어로 SDLC 방법은 고품질 소프트웨어를 전략적으로 개발하는 방법이다.
전략이 없는 소프트웨어를 개발하는 것은 문제를 해결하려고 시도하는 것과 같다. 그러나 그것이 무엇인지, 어떻게 해결해야 할지 모른다.우리는 우리가 무엇을 만들고 싶은지 알고 전략을 필요로 하지 않고 인코딩을 시작할 수도 있지만, 이 과정에서 의외의 비용, 진도 연장, 심지어 동력을 잃을 수도 있습니다.
만약 우리가 한 팀에서 일한다면 SDLC를 이해하는 것은 더 이상 중요하지 않을 것이다. 게다가 당신의 개인 프로젝트에서도 마찬가지다.
하면, 만약, 만약...

..wants to develop a personal project successfully

..is working as a freelance and want to gain trust from clients

..is stuck with your own project because of the budget issue or loss of motivation

..started to look for a software development job

..wants to develop software in a team


SDLC 방법학을 배우는 것은 너에게 큰 도움이 될 것이다.

SDLC는 어떤 제품입니까?


모든 SDLC 방법은 다음 단계에만 초점을 맞춥니다.
1) 계획, 수집 및 분석
이 단계에서 다음과 같은 질문에 대답했다.
- What are the objectives?

- Who uses the system?

- What functionality do we need?

- How the users use the system?

- Are they feasible to implement? ...etc
2) 설계
- How will the software work?

- How will it look? ...etc
3) 구현
- How can they be programmed?
4) 테스트
- Does each unit work?

- Does each unit work when combined as a group?

- Does the full system work when all units are integrated?

- Can the system support the business and users in a real situation? ...etc
5) 배포
5) 유지 관리
모든 방법은 서로 다른 방식으로 이 단계를 처리하지만, 각 단계에 대한 기본 사상은 통상적으로 비슷하다.

SDLC의 기본 모델은 무엇입니까?


더 많은 모델이 있지만 이 절에서 저는 4가지 SDLC모델, 즉 폭포모델, V모델, 나선모델과 민첩모델을 총괄할 것입니다.

폭포 모형(1956~)


폭포법은 가장 오래되고 가장 간단한 방법 중의 하나다.이것은 선형 순서 생명주기 모델로 분류된다. 이것은 전체 과정이 서로 다른 단계로 나누어지고 개발의 모든 단계는 반드시 다음 단계에 들어가기 전에 완성해야 한다는 것을 의미한다.
'폭포'라는 이름처럼 개발 프로세스는 위에서 아래로 - 수요 분석부터 배치와 유지보수 단계까지 - 우리가 수요를 추가하거나 변경하려고 해도 이전 단계로 돌아가는 것을 허락하지 않는다.그래서 만약 우리가 변화를 필요로 한다면, 우리는 처음부터 시작해야 한다.그럼에도 불구하고 우리는 프로젝트가 끝나기 전에 원형이나 업무 소프트웨어를 볼 수 없지만 그 장점은 개발팀의 전체 과정을 관리하고 감시하기 쉽다는 것이다.

만약에 모든 수요가 명확하고 시간의 추이에 따라 바뀔 수 없다면 이 모델은 우리로 하여금 효율적인 방식으로 시스템을 배치할 수 있게 하지만, 이것은 대형 프로젝트에 적용되지 않는다. 왜냐하면 모든 수요가 처음부터 투명하지 않을 수 있기 때문이다.
제조업과 건축업에 쓰이다
참조:
Waterfall model - wikipedia

V형(1980년대)


V형 모델은 폭포 모델과 유사하다. 왜냐하면 이것은 일종의 순서 모델이기 때문에 각 단계는 전 단계가 끝난 후에만 시작한다.폭포와 같은 개발 주기도 있지만 주기마다 단계와 관련된 테스트 계획을 포함한다.개발 단계의 상응하는 테스트 단계는 병행 기획된 것이다.
폭포 모델과 마찬가지로 이런 절차는 업무 수요 분석, 시스템 디자인, 구조 디자인, 모듈 디자인을 거쳐 팀은 인코딩 단계에 들어간다.실현된 후에, 그것은 사전에 계획된 모든 테스트 단계를 겪을 것이다.

이런 방법은 폭포 모델보다 관리진이 코딩 단계에 들어가기 전에 모든 것을 결정할 수 있게 한다.이 모델의 기능을 실현하기 위해서는 수요의 명확성이 폭포 모델과 마찬가지로 중요하다.따라서 V형 모델은 비교적 작은 프로젝트에만 적용되지만 프로젝트가 수요를 충족시키는 유연성을 필요로 한다면 V형 모델을 응용하는 데 문제가 있을 수 있다.
의료 발전 분야에 쓰이다
참조:
SDLC - V model - tutorialspoint
V-model - wikipedia

헬리컬 모델(1986)


상기 두 모델과 달리 나선형은 순서에 따라 개발하지 않고 교체 개발을 한다. 교체 개발은 지정과 개발 시스템의 일부에서 시작하여 끊임없이 발전하는 버전을 교체하여 완전한 시스템을 실현할 때까지 강화한다. 따라서 모든 수요가 절차를 시작할 때 뚜렷하지 않으면 문제가 되지 않는다.따라서 고객이나 시스템 소유자가 수요에 대해 모호한 개념만 있거나 수요가 복잡할 때 이 모델은 합리적일 수 있다.
폭포 모델의 장점인 시스템 제어는 이 모델에 포함된다. 즉, 수요 식별, 공사, 평가와 위험 분석이다.순서 유형의 모델에 비해 나선 모델은 매번 교체되는 마지막 부분에서 고객 평가를 해야 하기 때문에 고객은 앞의 두 모델보다 개발에 더욱 빈번하게 참여해야 한다.

전형적인 교체는 약 6개월에서 2년 사이이며, 수요의 증가나 변경으로 인해 장기적인 약속이 될 수도 있다.이런 유연성은 단점일 수 있다. 왜냐하면 팀은 프로젝트의 끝을 예측할 수 없을 뿐만 아니라 관리팀의 관심을 더 많이 가져야 하기 때문이다. 왜냐하면 이런 구조는 앞의 두 모델보다 더욱 복잡하기 때문이다.
Microsoft에서 이전 버전의 Windows를 개발하는 데 사용됩니다.
참조:
Difference between agile model and spiral model - stackoverflow
What is Spiral model- advantages, disadvantages and when to use it? - TRY QA
Spiral Model SDLC: Top Choice for Large, High-Risk Software Projects? - intellectsoft

민첩 모형(2001)


내가 언급하고자 하는 마지막 모델은 민첩성이다. 이것은 교체 과정(예를 들어 나선 모델)과 과정 적응성의 결합이다.그것은 매번 교체가 끝날 때마다 작업 가능한 소프트웨어 제품을 생성하는데, 이것은 나선 모델에 있어서 사실이 아닐 수도 있다.
민첩 모델의 매번 교체는 다기능 팀이 서로 다른 분야에서 동시에 일하는 것과 관련된다. 이런 팀은 기획, 수요 분석, 설계, 공사, 단원 테스트와 검수 테스트로 확정되었다.모델의 구조 때문에 항상 처음부터 구체적인 계획이나 수요가 필요한 것이 아니라 작은 중복 순환을 통해 시스템을 개발한다.이런 스타일은 우리가 구체적인 문서를 만드는 것이 아니라 업무 시스템을 우선적으로 개발할 수 있고 구체적인 계획을 따르지 않고 유연하게 변경할 수 있게 한다.

민첩한 모형의 매번 교체는 보통 더 짧다. 대부분의 경우 2 ~ 4주이기 때문에, 작업 시스템을 통해 진도를 더욱 자주 확인하고 감시할 수 있다.즉, 적응성 때문에 발전을 유지하는 것이 더욱 어려울 수 있기 때문에 관리팀은 팀의 방향을 시종일관 유지하는 데 중요한 역할을 한다.그 밖에 모든 팀은 스스로 조직하고 고도로 협력하며 자신의 업무에 대해 책임을 져야 한다.
거의 모든 업종의 대형 프로젝트에 사용
참조:
Software Engineering | Comparison between Agile model and other models - geeksforgeeks
Agile software development - wikipedia
Who Uses Agile? - Wrike

결론


한 마디로 하면 폭포 모델과 V형 모델은 프로젝트를 시작할 때 엄격한 기획이 필요하기 때문에 동적 환경에서 사용하는 많은 시스템에 적합하지 않다.이것은 최근 몇 년 동안 환영을 받지 못한 원인 중의 하나다.다른 한편, 나선형이나 민첩모형은 과거에 똑같은 시스템을 개발하지 않았다면 많은 경우에 더욱 합리적일 수 있다.따라서 만약에 제가 자신의 개발팀을 설립하거나 고객을 위해 소프트웨어를 개발하려면 나선식이나 민첩한 방법을 사용하겠습니다.이 두 가지 방법을 비교해 보면 저는 민첩함을 더 좋아합니다. 왜냐하면 이것은 팀으로 하여금 고객의 만족도에 관심을 가지게 하기 때문에 저는 이것이 가장 중요하다고 생각합니다.
동의하십니까?댓글로 당신의 생각을 공유해 주세요!

좋은 웹페이지 즐겨찾기