1. 소개
- 시스템 분석
- 정보 시스템이 무엇을 하여야 하는지 자세히 이해하고 명세로 나타내는 일
- 시스템 설계
- 정보 시스템이 어떻게 구현되어야 하는지 자세히 나타내는 일
시스템 개발 과정
요구시스템 개발함
⇒ 분석 → (요구분석서) → 설계 → (설계문) → 구현 → (소스코드) → 테스트 → (테스트 결과물) → 설치(운영) ↔ 유지보수
검증은 시스템 개발 과정에서 시스템이 적절히 설계되었는지 확인하는 단계이다.
설계된 시스템이 요구 사항을 충족하고 예상대로 작동하는지 검사하고 확인하는 것이다.
분석
분석 단계에서는 시스템의 기능과 제한 사항을 파악하고, 이를 문서화하는 것이다. 시스템이 수행해야 할 작업, 처리해야 할 데이터, 제공해야 하는 출력 등 시스템의 요구사항을 확인하여 문서화한다. 또한 시스템의 제약사항이나 가정사항 등도 문서화한다. 이를 통해 시스템의 최종적인 목표와 범위를 정의한다.
설계
- 시스템을 어떻게 구축할 것인가?
- 시스템의 동작을 결정
- UI, 입력 양식, 보고서
- 프로그램
- 데이터베이스, 파일
- 설계 전략 수립
- 아키텍처 설계 - 최하위 단계의 설계
- 데이터 설계
- 프로그램 설계 - 프로그램의 관계도 (구조)
구현
- 구축 또는 패키지 구입으로 설계를 현실화
- 작업 단계
- 시스템 구축과 테스트
- 시스템 설치, 전환
- 지원 계획
시스템 개발 방법론
시스템 개발 방법론은 정보 시스템을 구축하여 사용할 수 있는 상태로 만드는데 필요한 단계와 절차를 설명하는 개념이다. 시스템 개발 방법론은 분석, 설계, 구현, 테스트, 설치 등의 과정으로 구성된다.
- 모델링
- 실세계를 특정한 관점으로 표현하는 것
- 예) 지도, 흐름도, 자료흐름도, 엔티티 관계도, 구조도, 사용 사례 다이어그램, 클래스 다이어그램…..
- 도구
- 설계, 구현, 유지보수, 테스트 등 소프트웨어 생간에 도움을 주는 툴
- 기술
- 작업 단계에 사용하는 기술
- 예) 프로젝트 관리 기술, 인터뷰 기술, 데이터 모델링, 구조적 분석, …
개발 방법론
방법론의 이름은 관점에 따라 바뀐다.
ex) 구조적 방법론은 구조를 관점에 두고 단계를 수행하지만 객체지향 방법론은 객체에 관점을 두고 단계를 수행한다.
소프트웨어 개발 프로세스 모델
- 생명 주기
- 소프트웨어 개발의 성패에 영향을 미치는 중요한 요소 ⇒ 소프트웨어를 개발해 나가는 단계
- 소프트웨어를 개발해 나가는 단계나 과정
- 컨셉트를 정하는 것부터 소멸될 때까지
- 몇 달 또는 몇 년이 걸릴 수 있음
- 각 단계의 목표
- 명확한 작업 단계
- 손에 잡히는 결과
- 작업의 검토
- 다음 단계의 명시
- Code-and-Fix
- 생명 주기가 없음
폭포수 모형
- 각 단계가 다음 단계 시작 전에 끝나야 함
- 순서적 - 각 단계 사이에 중복이나 상호작용이 없음
- 각 단계의 결과는 다음 단계가 시작 되기 전에 점검
- 바로 전단계로 피드백
- 단순하거나 응용 분야를 잘 알고 있는 경우 적합
- 한 번의 과정, 비전문가가 사용할 시스템 개발에 적합
- 장점
- 프로세스가 단순하여 초보자가 쉽게 적용 가능
- 중간 산출물이 명확, 관리하기 좋음
- 코드 생성 전 충분한 연구와 분석 단계
- 단점
- 처음 단계의 지나치게 강조하면 코딩, 테스트가 지연
- 각 단계의 전환에 많은 노력
- 프로토타입과 재사용의 기회가 줄어듦
- 소용 없는 다종의 문서를 생산할 가능성 있음
- 적용
- 이미 잘 알고 있는 문제나 연구 중심 문제에 적합
- 변화가 적은 프로젝트에 적합
병렬 개발 모형
- 폭포수 모형의 변형
- 대규모 시스템을 쪼개어 병렬로 진행
모형
시제품이나 원형모형을 만들어 발주자를 보여주고, 시스템을 점진적으로 개발해 나가는 접근 방법
- 프로토타입(quick and dirty)의 적용
- 사용자의 요구를 더 정확히 추출
- 알고리즘의 타당성, 운영체제와의 조화, 인터페이스의 시험 제작
- 프로토타이핑 도구
- 화면 생성기
- 비주얼 프로그래밍, 4세대 언어 등
- 공동의 참조 모델
- 사용자와 개발자의 의사소통을 도와주는 좋은 매개체
- 프로토타입의 목적
- 단순한 요구 추출 – 만들고 버림
- 제작 가능성 타진 - 개발 단계에서 유지보수가 이루어짐
- 단점
- 오해, 기대심리 유발, 관리가 어려움(중간 산출물 정의가 난해) 적용
- 개발 착수 시점에 요구가 불투명할 때
- 혁신적인 기술을 사용해 보고 싶을 때
댓글남기기