거의 다 적었었는데 내용이 날라갔습니다..
이번 포스팅 길다 생각했는데 이게 날라갈 줄이야 ~
더 잘 적으라는 뜻으로 알고 다시 공부해서 적어봅니다 .. 。゚(゚´ω`゚)゚。
우리는 이전까지 소프트웨어 개발 과정에 있어서 5가지 접근 단계를 알아보았고 그 중 특히나 '프로세스 단계'에 대해서 자세히 알아보았다! 프로세스 중에서도 프레임워크 활동 ' 대화 - 계획 - 모델링 - 구현 - 설치 '과정에 대해서 알아보았는데 ...
과연 모든 프로세스가 이 과정을 순서대로 따라만할까?
이 물음에 대한 해답을 찾아보자 ! 그러기 위해서는 프로세스 모델이 등장한다. 프로세스가 돌아가는 다양한 방식에 대한 모델이 존재한다는 것이다.
프로세스 모델
프로세스 모델은 각 요소들을 서로 연결하여 일련의 소프트웨어 개발 프로세스를 정의한 것이다. 프로세스 과정은 대화 - 계획 - 모델링 - 구현 - 설치 이 과정을 순서대로 따라갈 수 도, 어떤 부분을 반복하여 진행할 수도.. 여러개의 과정이 존재한다. 그래서 약 10가지의 프로세스 모델을 배우게 되었는데 이 모델들에 대해서 설명해보겠다.
프로세스 모델 : 딜레마
- 규정적인 프로세스 모델은 구조와 질서를 추구하지만 소프트웨어에서는 변화에 적극적으로 대처해야하므로 부적합할까요?
- 전통적인 프로세스 모델을 거부하고 덜 구조적인 무언가로 대체한다면 .. 소프트웨어 작업에서 조율과 일관성을 달성하는 것이 불가능해질 수 있을까요 ?
→ 프로세스 모델이 빠진 딜레마에 대한 설명이다. 프로세스 모델이 정형화된 틀에 박히는 것도 문제지만 너무 틀에서 벗어나는 것도 문제니까..
프로세스 모델의 흐름 유형
1.
엄격 그 잡채 흐름유형이다. 피드백 라인이 없다 !
2.
final product가 늦게 나오지만 .. 반복적으로 추가 작업을 수행하여 점진적으로 완성도를 높인다.
3.
final product가 나오고 끝이 아니라 또 과정이 돈다 !
초기에 요구사항이 불분명하나 변경될 가능성이 높은 경우, 초기 버전을 출시한 수 지속적을 수정하는 모델임
4.
여러명이 동시에 다른 작업을 수행하고 결과물을 통합하는 모델 → 대규모 시스템 개발, 복잡한 sw 프로젝트에 사용된다.
프로세스 모델 종류
시험이 코앞이라 키워드를 중심으로 설명해보겠다. 다른 좋은 레퍼런스들이 많으니 참고하시라 ... ~~
주인장이 미리미리 못올리고 게을러서 미안합니다 하지만 날라간건 어쩔수 없다고 ㅜㅜ ~
⓵ 폭포수 모델
일련의 단계가 순차적으로 진행되는 선형 프로세스 모델
keyword
: systematic, sequential approach, oldest paradigm, classic life cycle
⓶ 점증적 모델
소프트웨어의 기능들을 점증적으로 완성해 가는 모델
keyword
: waterfall model + iterative fashion, core product ( - the first increment)
⓷프로토타입 모델
초기에 설계한 요구사항에 대한 이해도를 높이기 위해 실제 제품과 비슷한 형태의 시제품을 빠르게 제작하여 사용자들과 고객들에게 제공하는 모델
keyword
: quick design, human-machine interaction, Ideally, Throw away ~
⓸ 나선형 모델(spiral)
위험관리에 초점을 둔 모델
keyword
: 프로토타입 + 폭포수 모델 , risk-driven, realistic approach
⓹ 동시성 모델
소프트웨어 공학 작업들 간의 관계와 상태변화를 중시하며, 다양한 소프트웨어 개발 프로젝트에서 적용할 수 있는 모델, 이 모델은 프로젝트의 현재 상태를 정확히 파악하고 작업 간의 상호 의존성을 고려하여 효율적인 개발을 한다.
keyword
: activity network, 'concurrent engineering'
⓺ 컴포넌트 기반 모델
사전에 패키지화된 SW 구성요소를 사용하여 개발하는 형식
keyword
: spiral + object-oriented, reusability
⓻ 정형 방법론 모델
컴퓨터 소프트웨어의 형식적인 수학적 명세 이끌어냄
keyword
: clean-room software engineering, defect-free software
⓼ 관점 지향 모델
흩어진 관심사(Cross-cutting concerns) aspect로 모듈화하고 핵심적인 로직에서 분리하여 진화론적으로 개발하여 재사용
keyword
: aspect, crosscutting, 진화모델 + 동시성모델
⓽ 통합 프로세스 모델 (UP : Unified Process)
유즈케이스 기반, 구조중심, 반복적이고 점증적인 프로세스 모델
keyword
: UML(Unified modeling language)
steps
: Inception(도입) - Elaboration(구체화) - Construction (구축) - Transition (변환) - Production (생성)
⓾ 애자일(Agile) 개발 프로세스
구체적 계획 개발 보다는 주기적으로 프로토타입을 만들어 필요한 요구를 보완하여 하나의 커다란 소프트웨어를 개발해 나가는 적응형 방법론
keyword
: 개인 및 상호작용, 동작하는 소프트웨어, 고객 협력, 변화 대응
* UX (User experience) : 사용자가 무언가에 대해 경험하고 느끼는 감정의 총체
* UI (User Interface) : 유저와 디바이스 or 프로덕트 사이의 interface
키워드를 중심으로 10개의 프로세스 모델에 대해서 알아보았다 ~ 문제점과 특징에 관해 정리한 내용은 시험이 끝나고 시간이 될 때 .. 올리도록 하겠다.. !
'[지식창고] > 소프트웨어공학' 카테고리의 다른 글
[소프트웨어공학] Chapter 6. 요구사항 개념 (0) | 2023.04.19 |
---|---|
[소프트웨어공학] Chapter2-2. 소프트웨어 공학 개요(2) (0) | 2023.04.17 |
[소프트웨어공학] Chapter 5 - (1) . 프로젝트 관리 (0) | 2023.04.05 |
[소프트웨어 공학] Chapter 4. 프로젝트 관리 개념(2) - 프로젝트 측정 (0) | 2023.04.03 |
[소프트웨어공학] Chapter 4. 프로젝트 관리 개념(1) - 4P (0) | 2023.03.29 |