소프트웨어공학: 두 판 사이의 차이
잔글
→소프트웨어 개발 프로세스
잔글 (→소프트웨어 개발 프로세스) |
잔글 (→소프트웨어 개발 프로세스) |
||
| 19번째 줄: | 19번째 줄: | ||
전통적인 공정은 다음과 같다. 보통 이를 '폭포수 모델(Waterfall Model)'이라고 부른다. | 전통적인 공정은 다음과 같다. 보통 이를 '폭포수 모델(Waterfall Model)'이라고 부른다. | ||
* 프로젝트 계획(Project Planning): 프로젝트의 관리, 개발, 품질 보증, 통합, 설치, 유지보수, 훈련, 운영 계획을 각각 수립한다. 여기에는 개별 프로젝트의 통합, 작업할 프로세스 범위, 예산을 맞출 수 있는 원가와 필요한 자산의 조달, 품질 관리, 인력 배치 등의 인적자원 관리, 의사소통 방법 명시, 리스크 관리, 이해관계 규명 등이 고려되어야 한다. 보통 이것은 프로젝트 매니저(PM)을 하나 세워서 감독하게 한다. | * 프로젝트 계획(Project Planning): 프로젝트의 관리, 개발, 품질 보증, 통합, 설치, 유지보수, 훈련, 운영 계획을 각각 수립한다. 여기에는 개별 프로젝트의 통합, 작업할 프로세스 범위, 예산을 맞출 수 있는 원가와 필요한 자산의 조달, 품질 관리, 인력 배치 등의 인적자원 관리, 의사소통 방법 명시, 리스크 관리, 이해관계 규명 등이 고려되어야 한다. 보통 이것은 프로젝트 매니저(PM)을 하나 세워서 감독하게 한다. | ||
* 요구사항 분석(Requirement Analysis): 목표를 정확히 확인하는 시스템 요구사항 분석은 보통 기술적 소양과 원활한 의사소통 능력이 있어야 한다. 또한 객관적 관점을 가지고 다양한 고객의 관점을 통합하고 요구사항 명세를 작성하는 혜안이 필요하다. 이에 따라 모델링을 할 때에는 기능별로 연산과 제약조건을 기술하는 기능 관점, 시스템의 상태와 변화 원인을 기술하는 동적 관점, 정보를 담은 객체 사이의 관계를 기술하는 정보 관점을 성공적으로 통합하여 데이터가 어떻게 처리되는지 묘사하는 Data Flow | * 요구사항 분석(Requirement Analysis): 목표를 정확히 확인하는 시스템 요구사항 분석은 보통 기술적 소양과 원활한 의사소통 능력이 있어야 한다. 또한 객관적 관점을 가지고 다양한 고객의 관점을 통합하고 요구사항 명세를 작성하는 혜안이 필요하다. 이에 따라 모델링을 할 때에는 기능별로 연산과 제약조건을 기술하는 기능 관점, 시스템의 상태와 변화 원인을 기술하는 동적 관점, 정보를 담은 객체 사이의 관계를 기술하는 정보 관점을 성공적으로 통합하여 데이터가 어떻게 처리되는지 묘사하는 Data Flow Diagram, Finite State Machine, Entity-Relationship Model을 구성하게 된다.<ref>여담으로, Data Flow Diagram과 Finite State Machine은 컴퓨터 하드웨어 설계(집적 회로)/소프트웨어 설계(컴파일러 등)에 직접 활용하기도 하며, ER 모델은 데이터베이스 이론에서 주로 쓰던 거다. 개발 프로세스에 대한 연구에 이 개념들을 가져온 건 일종의 응용법이다.</ref> | ||
* 설계(Design) | * 설계(Design) | ||
* 구현(Implementation) | * 구현(Implementation) | ||