본문 바로가기

더 괜찮은 개발자가 되기위한

(39)
요구사항 도출 □ 요구사항 도출 ○ 요구사항 도출이란? 요구사항 도출 개념도 요구사항 도출이란 제안요청서, 제안서, 업무문서 등을 분석해 요구사항을 찾아내고 고객과의 인터뷰를 통해 요구사항을 이해하고 숨어있는 요구사항을 발견하는 과정이다. 요구사항 도출은 요구사항이 어디에 있고 어떻게 수집할 것인가에 초점을 두고 있으며 이해관계자와 효과적인 의사소통이 성공의 핵심 열쇠이다. 따라서 고객과의 인터뷰를 하기 전에 프로젝트에 대해 충분히 이해하고 있어야 한다. 가장 좋은 방법은 제안요청서와 제안서 내용을 반복해서 읽어는 것이다. ○ 제안요청서 분석 제안요청서, 제안서, 고객이 업무에 사용하는 문서를 분석해 고객이 요구하는 기능과 특성을 찾아내는 과정이 요구사항 도출이다. 여기에서 가장 기초가 되는 것이 제안요청서이다. 고객..
요구사항 분석 개념 □ 요구사항 분석 개념 요구사항 분석이란 고객의 요구를 만족시키기 위해 시스템이 제공해야 하는 기능과 특성을 도출해 나가는 과정이다. 여기에서 도출된 기능과 특성을 글로 기록한 것이 요구사항 명세서이며 시스템은 요구사항 명세서를 기반으로 구축된다. 요구사항을 분석해 시스템 범위가 결정되면 요구사항에 대한 베이스라인을 결정하고 요구사항에 대한 지속적인 관리가 수행된다. 도출된 요구사항에 대해 베이스라인을 세우는 것은 매우 중요한데 베이스라인이란 고객이 원하는 모든 요구사항을 도출해서 명세서에 모두 기록했다는 것을 의미한다. 따라서 앞으로 추가로 발생하거나 변경되는 요구사항에 대해서는 엄격한 절차를 통해서만 수용여부가 결정된다. 아무리 작은 프로젝트라도 베이스라인을 결정하는 시점에는 모든 이해관계자가 참석하..
프로젝트 관리 절차와 방법 □ 프로젝트 관리 절차와 방법 ○ 프로젝트 관리 프로세스 프로젝트 관리 프로세스 앞에서 프로젝트 관리에 대해 간단하게 알아봤다. 이제부터 어떻게 프로젝트를 관리할지에 대해 구체적으로 알아보자. 프로젝트 관리 프로세스는 프로젝트 관리 계획서를 만드는 것에서부터 시작한다. 실제 프로젝트에서는 착수보고서라는 용어를 많이 사용하고 있다. 프로젝트 관리계획서에는 누가(비용, 인력), 언제(일정), 무엇(범위)을, 어떻게(방법론) 할 지에 대해 아주 구체적인 계획이 나와 있다. PM은 프로젝트를 잘 관리 위한 목적으로 이 문서를 작성하고 발주사에게 프로젝트를 어떻게 진행할지 설명하는 보고자료로도 프로젝트 관리계획서를 활용된다. 프로젝트 관리계획서가 작성되면 이제 본격적으로 프로젝트가 시작된다. 설계자는 제안요청서,..
시스템운영에 필요한 운영체제 지식 □ 시스템운영에 필요한 운영체제 지식 ○ 윈도우와 리눅스 윈도우와 리눅스 윈도우는 그래픽 기반의 운영체제이다. 명령을 실행할 때는 직업 명령어를 입력하지 않고 마우스로 아이콘을 클릭한다. 반면에 유닉스 운영체제는 텍스트 기반의 운영체제이다. 물론 엑스 윈도우와 같이 그래픽 기반의 화면을 제공하지만 대부분의 작업은 텍스트 모드에서 진행된다. 작업을 수행하기 위해서는 명령어를 직업 손으로 입력해야 한다. 많은 프로그래머들이 윈도우 환경에 익숙해져 있으므로 개발 환경을 윈도우 기반의 데스크탑이나 노트북에 설치해서 프로그래밍을 한다. 개발이 완료된 후에 운영 환경의 웹서버가 설치되어 있는 유닉스로 프로그램을 전송한다. 사용자 편의성과 지원되는 다양한 개발 도구 측면에서 윈도우가 유닉스 보다 우수한 측면이 많다...
소프트웨어 개발 방법론 □ 소프트웨어 개발 방법론 ○ 소프트웨어 개발 방법론이란? 소프트웨어 개발 방법론의 구성 소프트웨어 생명주기 관리 모델에서는 프로젝트가 어떤 순서로 진행될지 그리고 중간에 어떤 산출물을 점검할 지에 대해 주로 관심을 가졌다면, 소프트웨어 개발 방법론은 소프트웨어를 어떻게 만들지에 대해 관심을 가진다. 따라서 개발 방법론에는 단계별 산출물뿐만 아니라 산출물은 누가 어떤 순서로 어떻게 만들어야 하는지 그리고 어떤 도구를 사용해야 하는지 구체적으로 정의하고 있다. 학교에서 배우는 소프트웨어 공학이 산업계에서 실무적으로 구현된 결과물이 개발방법론이라고 할 수 있다. 소프트웨어 개발 방법론의 종류 소프트웨어 개발방법론은 정보공학 방법론, 객체지향 방법론, CBD(Component Base Development) ..
소프트웨어 생명주기 모델 □ 소프트웨어 생명주기 모델 ○ 소프트웨어 생명주기 모델이란? SDLC의 구성 소프트웨어 생명주기 모델(SDLC: Software Development Life Cycle)은 소프트웨어를 기획부터 개발, 폐기까지를 하나의 주기로 보고 이를 효과적을 관리하기 위한 절차를 정의한 것이다. 소프트웨어 개발방법론과 겹치는 부분이 많지만 생명주기 모델은 좀 더 프로세스 관리에 초점을 맞추고 있다고 생각하면 된다. SDLC의 대표 유형 SDLC는 대표적으로 폭포수 모델, 프로토타이핑 모델, 나선형 모델, 반복적 모델 이렇게 4가지가 있다. 폭포수 모델은 분석, 설계, 개발, 테스트의 전 과정을 순차적으로 접근하는 방식이다. 분석 단계를 마무리하고 설계 단계로 들어가고 설계 단계를 마무리하고 개발 단계로 들어가게 된..
프로젝트 완료를 위한 테스트 □ 프로젝트 완료를 위한 테스트 ○ 완료 단계 테스트 시스템 개발 단계에서는 개발자와 설계자가 단위테스트를 통해 개발이 잘 됐는지 검증한다. 단위 테스트는 내가 만든 프로그램에 주된 관심이 있다. 물론 단위 테스트할 때도 입력과 출력을 주고받는 프로그램과 통합해 테스트를 진행하지만, 전체 프로그램이 업무 프로세스 상에서 유기적으로 동작하는지 검증하지는 않는다. 완료 단계 테스트 종류 통합테스트는 전체 프로그램을 통합해 업무를 수행하는데 문제가 없는지를 검증하는 절차이다. 통합테스트에는 개발자, 설계자, PM 뿐만이 아니라 고객사의 전산담당자와 업무담당자가 모두 참여해 테스트를 진행한다. 업무관점에서 프로그램 검증이 끝났다면 피크 타임(Peak Time)에서 시스템이 얼마나 많은 동시 접속자를 처리할 수 ..
프로젝트 관리란 □ 프로젝트 관리란 ○ 프로젝트 관리의 개념 프로젝트 관리 개념도 프로젝트는 분석, 설계, 개발, 테스트 단계로 구성된다. 각 단계별로 할 일이 나누어져 있고 어떤 업무를 먼저하고 어떤 순서로 해야 하는지 미리 정하는 업무가 바로 프로젝트 관리 업무다. 또한 누가 어떤 업무를 수행할지 그리고 어떤 등급의 인력이 들어가야 할지 결정하는 것도 관리 업무에 포함된다. 프로젝트에 소요되는 시간, 사람과 같은 자원을 계획하는 것도 프로젝트 관리 범위지만 진행과정에서 사람들이 일을 잘 할 수 있도록 지원하고 불편 사항을 해결해 주는 것도 관리 업무에 해당한다. 앞으로 발생할 수 있는 위험을 미리 파악하고 대비책을 마련해 주는 것 역시 관리 업무에 하나이다. 축구와 프로젝트 관리 이처럼 프로젝트의 시작부터 끝까지 프..