목록전체 글 (163)
DevGang
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcu4rc/btqT7W5exOW/Vg1UdTJe39nKZwX7Gybuq0/img.png)
1. 설계 (Design) 요구사항 분석 단계의 산출물인 요구사항 분석 명세서의 기능이 실현되도록 알고리즘과 그 알고리즘에 의해 처리될 자료 구조를 문서화하는 것 2. 소프트웨어 설계 모형 구성 : 데이터 설계 - 아키텍처 설계 - 인터페이스 설계 - 절차 설계 데이터 설계 : 요구사항 분석 단계에서 생성된 정보를 소프트웨어로 구현하는 데 필요한 자료 구조로 변환 아키텍처 설계 : 소프트웨어를 구성하는 모듈 간의 관계와 프로그램 구조를 정의 인터페이스 설계: 소프트웨어와 상호 작용하는 시스템, 사용자 등과 어떻게 통신하는지 기술 절차 설계: 모듈이 수행할 기능을 절차적 기술로 바꾸는 것 - 설계 모형의 구조도 - 소프트웨어 설계에 사용되는 대표적인 3가지 추상화 기법 제어 추상화 : 제어의 정확한 메커니..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/RrE8o/btqT7W5dGdC/CqY7SPijK1oMCjYFmJBg1k/img.png)
1. 전통적 소프트웨어 개발 단계 2. 요구사항 분석의 개념 프로젝트를 이해할 수 있는 개발의 실질적인 첫 단계 소프트웨어가 가져야 될 기능을 기술하는 단계 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 단계 현재의 상태를 파악하고 문제를 정의한 후, 문제 해결과 목표를 명확히 도출하는 단계 3. 요구사항 분석 작업 문제 인식 사용자 면접, 설문조사를 통한 의견 수렴, 현재 사용 중인 각종 문서 검토 등을 통해 사용자의 요구 분석을 함 평가와 종합 추출된 요구사항에 대한 정보를 평가하고 여러 가지 해결책을 종합함 모델 제작 평가와 종합을 바탕으로 자료와 제어의 흐름, 기능 처리, 동작 행위, 정보 내용 등을 이해하기 쉽도록 모델을 작성 문서화 검토 요구사항 분석 명세서를 작성하고, 소..
1. 형상(Configuration) 소프트웨어 개발 단계의 각 과정에서 만들어지는 프로그램, 프로그램을 설명하는 문서, 데이터 등을 통칭 2. 소프트웨어 향상 관리 (SCM, Software Configuration management) 개발 과정의 변화되는 사항을 관리하는 것 소프트웨어에 일어나는 수정이나 변경을 알아내고 제어하는 것 소프트웨어에 대한 변경을 관리하기 위해 개발된 일련의 활동 소프트웨어에 가해지는 연결을 제어 관리하는 것 소프트웨어의 생산물을 확인하고 소프트웨어 통제, 변경 상태를 기록하고 보관하는 일련의 관리 작업 3. 형상 관리의 특징 유지보수 단계에서 행해짐 향상 관리에서 중요한 기술 중의 하나는 비전 제어 기술임 향상 관리는 소프트웨어 개발의 전 단계에 적용되는 활동으로, 유지..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cMJvCn/btqT91rntRj/PcLyBeVWywSjTpC2rJTcSk/img.jpg)
1. 위험 관리 (Risk Analysis) 프로젝트 추진 과정에서 예상되는 각종 돌발 상황(위험)을 미리 예상하고, 이에 대한 적절한 대책을 수립하는 일련의 활동 2. 위험의 종류 사용자 요구사항 변경 : 가장 대표적인 위험 요소 인력 부족 예산 관리 일정 관리 3. 위험 관리의 절차 위험 식별 > 위험 분석 및 평가 > 위험 관리 계획 > 위험 감시 및 조치 - 위험 식별 알려지거나 예측 가능한 위험 요소를 파악하는 작업 위험 항목 점검 목록을 작성하여 활용함 - 위험 분석 및 평가 위험이 현실화될 가능성과 실제 발생하였을 때에 문제들을 분석하고 영향력을 파악하는 작업 위험 추산(Risk Estimation) 작업을 통해 수행됨 위험 추산을 위해 위험 표를 작성하여 활용한다. * 위험 표 (Rosk ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/AH4oF/btqT8HmiK1B/TpzjJt4XCDKHC5HrhMJD30/img.jpg)
1. 소프트웨어 품질과 품질 관리 - 소프트웨어 품질 (Quality) 주어진 요구사항을 만족시키는 능력을 갖추고 있는 소프트웨어의 측정 가능한 기능 및 특성을 의미함 - 소프트웨어 품질의 종류 설계 품질: 설계자가 한 품목을 위해 규정한 특성 일치 품질: 설계 내용들이 개발 과정에서 지켜지는 정도 - 품질 관리 (Quality Control) 주어진 요구사항에 맞는 소프트웨어를 개발하기 위해 소프트웨어 개발의 전 과정 동안에 이루어지는 모든 활동과 그 활동의 결과로 생산되는 산출물에 대한 품질을 통제하고 보증하기 위한 작업 - 소프트웨어 품질관리 위원회의 기본적인 목적 : 소프트웨어 품질 향상 2. 소프트웨어 공학에 적용되는 품질 표준(목표) 항목 - 품질 표준(목표) 명확하게 정의된 소프트웨어의 특성..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ckqQGL/btqUf0St0P3/rk5x6yigMoY13nNEFzKL0K/img.jpg)
1. 프로젝트 일정 계획 프로젝트 일정(Scheduling) 계획은 프로젝트의 프로세스를 이루는 소업을 파악하고 예측된 노력을 각 소작업에 분배하며, 소작업의 순서와 일정을 정하는 것 소프트웨어 개발 기간의 지연을 방지하고 프로젝트가 계획대로 진행되도록 일정을 계획 계획된 일정은 프로젝트의 진행을 관리하는데 기초 자료가 됨 계획된 일정과 프로젝트의 진행도를 비교하며 차질이 있을 경우 여러 조치를 통해 조정할 수 있음 프로젝트 일정 계획을 위해서는 WBS, PERT/CPM, 간트 차트 등이 사용 2. 프로젝트 일정 계획 사용 방법 - WBS(Work Breakdown Structure, 업무 분류 구조) 개발 프로젝트를 여러 개의 작은 단위(소작업)로 분할하여 계층적으로 기술한 업무 구조 - PERT/CP..
1. 중앙집중식 팀 구성 중앙 집중형 팀 구성은 한 관리자가 의사 결정을 하고 팀 구성원들은 그 결정에 따르는 구성 방식으로, 책임 프로그래머 팀 구성이라고도 함 소프트웨어 개발팀을 중앙 집중형으로 관리하는 방법에는 책임 프로그래머 팀이 있 프로그램 사서(Program Librarian)는 프로그램 리스트, 설계 문서, 테스트 계획등을 관리함 중앙 집중식 팀 구성은 한 사람에 의하여 통제할 수 있는 비교적 소규모 문제에 적합 중앙 집중형 팀 구성원의 역할 구성원 역할 책임 프로그래머 요구 분석 및 설계, 중요한 기술적 판단, 프로그래머에게 작업 지시 및 배분 등 프로그래머 책임 프로그래머의 지시에 따른 원시 코드 작성, 테스트, 디버깅, 문서 작성 등 프로그래머 사서 프로그램 리스트, 설계 문서, 테스트..
1. 하향식 비용 산정 기법 하향식 비용 산정 기법은 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정하는 비과학적인 방법 프로젝트의 전체 비용을 산정한 후 각 작업별로 비용을 세분화함 하향식 비용 산정 기법에는 전문가 감정 기법, 델파이 기법 등이 있음 2. 상향식 비용 산정 기법 상향식 비용 산정 기법은 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법으로 LOC(원시 코드 라인수) 기법, 개발 단계별 인원수 기법, 수학적 산정 기법 등이 있음 - LOC(원시 코드 라인 수) 방법 프로그램의 라인 수를 평가하여 비용을 산정하는 방법, 즉 소프트웨어 각 기능의 LOC(원시 코드 라인 수)의 비관치, 낙관치, 기대치를 측정하여..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bki3oB/btqT6HMV1dz/d2wXXh4bsXvsd1lrZlEFjk/img.png)
1. 프로젝트 계획 수립 프로젝트가 수행되기 전에 소프트웨어 개발 영역 결정, 필요한 자원, 비용, 일정 등을 예측하는 작업 2. 소프트웨어 영역(Software Scope) 결정 개발될 소프트웨어의 영역을 결정하는 것 - 예측의 대상 기능(Function) 성능(Performance) 신뢰도(Reliability) 비용 일정 참여 인원수 요구되는 노력 제약조건 3. 프로젝트를 신뢰성 있게 예측하는 방법 이미 수행된 유사 프로젝트를 참고함 프로젝트를 상대적으로 잘게 분리하여 예측함 경험적 예측 모델을 활용함 예측을 가능한 뒤로 미룸 (현실성이 부족함) 하나 이상의 자동화 측정 도구들을 이용함 4. 프로젝트 계획 수립 시 고려사항 프로젝트 규모 파악(제일 먼저 해야 할 작업) 프로젝트 복잡도 구조적 불확실..
1. 소프트웨어 프로젝트 관리 프로젝트 관리(Project Management)는 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동 프로젝트 관리는 소프트웨어 개발 계획을 세우고 분석, 설계, 구현 등의 작업을 통제하는 것으로 소프트웨어 생명 주기의 전 과정에 걸쳐 진행 소프트웨어 프로젝트를 성공적으로 수행하기 위해서는 수행할 작업의 범위, 필요한 자원, 수행 업무, 이정표, 비용, 추진 일정들은 알아야 함 2. 프로젝트 관리 대상 계획 관리 : 프로젝트 계획, 비용 산정, 일정 계획, 조직 계획 품질 관리 : 품질 통제, 품질 보증 위험 관리 : 위험 식별, 위험 분석 및 평가, 위험 관리 계획, 위험 감시 및 조치 3. 효과적인 소프트웨어 프로젝트 관리를 위한..