Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- jpa 활용2 - api 개발 고급
- 게시글 목록 api
- 스프링 입문(무료)
- 자바의 정석 기초편 ch3
- 스프링 mvc1 - 서블릿
- 2024 정보처리기사 시나공 필기
- 2024 정보처리기사 수제비 실기
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch8
- 자바의 정석 기초편 ch11
- 자바의 정석 기초편 ch6
- 자바 기본편 - 다형성
- 자바의 정석 기초편 ch14
- 스프링 mvc2 - 타임리프
- 자바의 정석 기초편 ch7
- @Aspect
- 스프링 고급 - 스프링 aop
- 자바의 정석 기초편 ch2
- jpa - 객체지향 쿼리 언어
- 코드로 시작하는 자바 첫걸음
- 자바의 정석 기초편 ch4
- 자바의 정석 기초편 ch1
- 스프링 db1 - 스프링과 문제 해결
- 자바의 정석 기초편 ch13
- 스프링 db2 - 데이터 접근 기술
- 자바의 정석 기초편 ch5
- 스프링 mvc2 - 로그인 처리
- 스프링 mvc1 - 스프링 mvc
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch12
Archives
- Today
- Total
나구리의 개발공부기록
1장 - 소프트웨어 개발 방법론 활용 | 섹션6. 소프트웨어 개발 방법론 결정, 섹션7. 소프트웨어 개발 표준, 섹션8. 소프트웨어 개발 방법론 테일러링, 섹션9. 소프트웨어 개발 프레임워크 본문
2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비)/필기 5강 - 정보시스템 구축 관리
1장 - 소프트웨어 개발 방법론 활용 | 섹션6. 소프트웨어 개발 방법론 결정, 섹션7. 소프트웨어 개발 표준, 섹션8. 소프트웨어 개발 방법론 테일러링, 섹션9. 소프트웨어 개발 프레임워크
소소한나구리 2024. 5. 7. 18:322024년도 시나공 필기 책 내용 정리
섹션6. 소프트웨어 개발 방법론 결정
1. 소프트웨어 개발 방법론 결정의 개요
- 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영하고 확정된 소프트웨어 생명 주기와 개발 방법론에 맞춰 소프트웨어 개발 단계, 활동, 작업, 절차 등을 정의하는 것
프로젝트 관리 : 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동
(Project Management)
관리 유형 | 주요 내용 |
일정 관리 | 작업 순서, 작업 기간 산정, 일정 개발, 일정 통제 |
비용 관리 | 비용 산정, 비용 예산 편성, 비용 통제 |
인력 관리 | 프로젝트 팀 편성, 자원 산정, 프로젝트 조직 정의, 프로젝트 팀 개발, 자원 통제, 프로젝트 팀 관리 |
위험 관리 | 위험 식별, 위험 분석 및 평가, 위험 관리 계획, 위험 감시 및 조치 |
품질 관리 | 품질 계획, 품질 보증 수행, 품질 통제 수행 |
2. 소프트웨어 개발 방법론 결정 절차
- 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영
- 프로젝트 관리와 재사용 현황을 반영하는 방법을 프로젝트 관련자들에게 설명
- 프로젝트 관리와 재사용 현황을 반영하고 그 결과를 프로젝트 관련자들에게 설명 후 결정
- 개발 단계별 작업 및 절차를 소프트웨어 생명 주기에 맞춰 수립
- 소프트웨어 기본 생명 주기, 지원 생명 주기, 조직 생명 주기별로 주요 프로세스를 확인
- 소프트웨어의 개발 프로세스, 개발 생명 주기, 프로세스 모형을 정리
- 결정된 소프트웨어 개발 방법론의 개발 단계별 활동 목적, 작업 내용, 산출물에 대한 메뉴얼을 작성
섹션7. 소프트웨어 개발 표준
1. 소프트웨어 개발 표준의 개요
- 소프트웨어 개발 단계에서 수행하는 품질 관리에 사용되는 국제 표준을 의미
- 대표적인 소프트웨어 개발 표준 ISO/IEC 12207, CMMI, SPICE 등
2. ISO/IEC 12207
- ISO(International Organization for Standardization, 국제표준화기구)에서 만든 표준 소프트웨어 생명 주기 프로세스로, 소프트웨어의 개발, 운영, 유지보수 등을 체계적으로 관리하기 위한 소프트웨어 생명 주기 표준을 제공
기본 생명 주기 프로세스 | 획득, 공급, 개발, 운영, 유지보수 프로세스 |
지원 생명 주기 프로세스 | 품질 보증, 검증, 확인, 활동 검토, 감사, 문서화, 형상 관리, 문제 해결 프로세스 |
조직 생명 주기 프로세스 | 관리, 기반 구조, 훈련, 개선 프로세스 |
3. CMMI(Capability Maturity Model Integration)
- CMMI(능력 성숙도 통합 모델)는 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델로 미국 카네기멜론 대학의 소프트웨어 공학연구소(SEI)에서 개발함
단계 | 프로세스 | 특징 |
초기(Initial) | 정의된 프로세스 없음 | 작업자 능력에 따라 성공 여부 결정 |
관리(Managed) | 규칙화된 프로세스 | 특정한 프로세트 내의 프로세스 정의 및 수행 |
정의(Defined) | 표준화된 프로세스 | 조직의 표준 프로세스를 활용하여 업무 수행 |
정량적 관리(Quantitatively Managed) | 예측 가능한 프로세스 | 프로젝트를 정량적으로 관리 및 통제 |
최적화(Optimizing) | 지속적 개선 프로세스 | 프로세스 역량 향상을 위해 지속적인 프로세스 개선 |
4. SPICE(Software Process Improvement and Capability dEtermination)
- SPICE(소프트웨어 처리 개선 및 능력 평가 기준)는 정보 시스템 분야에서 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준으로 공식 명칭은 ISO/IEC 15504임
- SPICE의 목적
- 프로세스 개선을 위해 개발 기관이 스스로 평가 하는 것
- 기관에서 지정한 요구조건의 만족여부를 개발 조직이 스스로 평가 하는 것
- 계약 체결을 위해 수탁 기관의 프로세스를 평가하는 것
- 5개의 프로세스 범주와 40개의 세부 프로세스로 구성됨
범주 | 특징 |
고객 - 공급자 (Coustomer - Supplier) 프로세스 |
소프트웨어를 개발하여 고객에게 전달하는 것을 지원하고, 소프트웨어의 정확한 운용 및 사용을 위한 프로세스로 구성됨 구성요소 : 인수, 공급, 요구 도출, 운영 프로세스 수 : 10개 |
공학(Engineering) 프로세스 |
시스템과 소프트웨어 제품의 명세화, 구현, 유지보수를 하는데 사용되는 프로세스로 구성됨 구성 요소 : 개발, 소프트웨어 유지보수 프로세스 수 : 9개 |
지원(Support) 프로세스 |
소프트웨어 생명 주기에서 다른 프로세스에 의해 이용되는 프로세스로 구성됨 구성 요소 : 문서화, 형상, 품질 보증, 검증, 확인, 리뷰, 감사, 품질 문제 해결 프로세스 수: 8개 |
관리(Management) 프로세스 |
소프트웨어 생명 주기에서 프로젝트 관리자에 의해 사용되는 프로세스로 구성됨 구성 요소 : 관리, 프로젝트 관리, 품질 및 위험 관리 프로세스 수 : 4개 |
조직(Organization) 프로세스 |
조직의 업무 목적 수립과 조직의 업무 목표 달성을 위한 프로세스로 구성됨 구성 요소 : 조직 배치, 개선 활동 프로세스, 인력 관리, 기반 관리, 측정 도구, 재사용 프로세스 수 : 9개 |
- SPICE 프로세스 수행 능력 단계
단계 | 특징 |
Level 0 - 불완전(Incomplete) | 프로세스가 구현되지 않았거나 목적을 달성하지 못한 단계 |
Level 1 - 수행(Performed) | 프로세스가 수행되고 목적이 달성된 단계 |
Level 2 - 관리(Managed) | 정의된 자원의 한도 내에서 그 프로세스가 작업 산출물을 인도하는 단계 |
Level 3 - 확립(Established) | 소프트웨어 공학 원칙에 기반하여 정의된 프로세스가 수행되는 단계 |
Level 4 - 예측(Predictable) | 프로세스가 목적 달성을 위해 통제되고, 양적인 측정을 통해서 일관되게 수행되는 단계 |
Level 5 - 최적화(Optimizing) | 프로세스 수행을 최적화하고, 지속적인 개선을 통해 업무 목적을 만족시키는 단계 |
섹션8. 소프트웨어 개발 방법론 테일러링
1. 소프트웨어 개발 방법론 테일러링의 개요
- 프로젝트 상황 및 특성에 맞도록 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 및 보완하는 작업
- 관리적 측면에서 볼 때 테일러링은 최단기간에 안정적인 프로젝트 진행을 위해 사전 위험을 식별하고 제거하는 작업
- 기술적 측면에서 볼 때 테일러링은 프로젝트에 최적화된 기술 요소를 도입하여 프로젝트 특성에 맞은 최적의 기법과 도구를 찾아가는 작업
소프트웨어 개발 방법론 테일러링 수행 절차(왼쪽에서 오른쪽으로 진행) | ||||
프로젝트 특징 정의 | 표준 프로세스 신청 및 검증 | 상위 수준의 커스터마이징 | 세부 커스터마이징 | 테일러링 문서화 |
2. 소프트웨어 개발 방법론 테일러링 고려사항
- 내부적 기준
- 목표 환경 : 시스템의 개발 환경과 유형이 서로 다른 경우
- 요구 사항 : 프로젝트의 생명주기 활동에서 개발, 운영, 유지보수 등 프로젝트에서 우선적으로 고려할 요구사항이 서로 다른 경우
- 프로젝트 규모 : 비용, 인력, 기간 등 프로젝트의 규모가 서로 다른 경우
- 보유 기술 : 프로세스, 개발 방법론, 산출물, 구성원의 능력 등이 서로 다른 경우
- 외부적 기준
- 법적 제약사항 : 프로젝트별로 적용될 IT Compliance(내/외부적으로 반드시 지켜야하는 법적 규제사항이나 지침)가 서로 다른 경우
- 표준 품질 기준 : 금융, 제도 등 분야별 표준 품질 기준이 서로 다른 경우
3. 소프트웨어 개발 방법론 테일러링 기법
- 프로젝트 규모와 복잡도에 따른 테일러링 기법 : 가장 일반적인 기법으로, 프로젝트 규모를 프로젝트 기간, 작업범위, 참여인원 등에 따라 대/중/소로 구분하고, 프로젝트 업무 난이도에 따라 복잡도를 상/중/하로 나누는 기법
- 프로젝트 구성원에 따른 테일러링 기법 : 프로젝트에 참여하는 구성원들의 기술적 숙련도와 방법론의 이해 정도를 확인하여 테일러이 수준을 결정하는 기법
- 팀내 방법론 지원에 따른 테일러링 기법 : 프로젝트 수행 시 각 팀별로 방법론 담당 인력을 배정하여 팀의 방법론 교육과 프로젝트 전체의 방법론 운영을 위한 의사소통을 담당하도록 인력을 구성하는 기법
- 자동화에 따른 테일러링 기법 : 프로젝트 수행 시 작업 부하를 줄이기 위해 중간 단계에서의 산출물을 자동화 도구를 사용하여 산출할 수 있도록 지원하는 기법
섹션9. 소프트웨어 개발 프레임워크
1. 소프트웨어 개발 프레임워크의 개요
- 소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화 하여 손쉽게 구현할 수 있도록 여러 가지 기능들을 제공해주는 반제품 형태의 소프트웨어 시스템
- 선행 사업자의 기술에 의존하지 않은 표준화된 개발 기반으로 인해 사업자 종속성이 해소 됨
- 개발해야 할 애플리케이션의 일부분이 이미 내장된 클래스 라이브러리로 구현되어 있어 개발자는 이미 존재하는 부분을 확장 및 이용하는 것으로 소프트웨어를 개발할 수 있음
- 주요 기능에는 예외 처리, 트랜잭션 처리, 메모리 공유, 데이터 소스 관리, 서비스 관리, 쿼리 서비스 , 로깅 서비스, 사용자 인증 서비스 등이 있음
프레임 워크의 특성
모듈화 (Modularity) |
캡슐화를 통해 모듈화를 강화하고 설계 및 구현의 변경에 따른 영향을 최소화함으로써 소프트웨어의 품질을 향상시킴 개발 표준에 의한 모듈화로인해 유지 보수가 용이함 |
재사용성 (Reusability) |
재사용 가능한 모듈들을 제공함으로써 예산 절감, 생산성 향상 품질 보증이 가능함 |
확장성 (Extensibility) |
다형성(Polymorphism)을 통항 인터페이스 확장이 가능하여 다양한 형태와 기능을 가진 애플리케이션이 개발 가능함 |
제어의 역흐름 (Inversion of Control) |
개발자가 관리하고 통제해야 하는 객체들의 제어를 프레임워크에 넘김으로써 생산성을 향상시킴 |
2. 스프링 프레임 워크(Spring Framework)
- 자바 플랫폼을 위한 오픈 소스 경량형 애플리케이션 프레임워크
- 동적인 웹 사이트의 개발을 위해 다양한 서비스를 제공함
- 전자정부 표준 프레임워크의 기반 기술로 사용되고 있음
3. 전자정부 프레임워크
- 우리나라의 공공부문 정보화 사업 시 효율적인 정보 시스템의 구축을 지원하기 위해 필요한 기능 및 아키텍처를 제공하는 프레임워크
- 개발 프레임워크의 표준 정립으로 응용 프로그램웨어의 표준화, 품질 및 재사용성의 향상을 목적으로 함
- 오픈 소스 기반의 범용화가 되고 공개된 기술을 활용함으로써 특정 업체의 종속성을 배제하고 사업별 공통 컴포넌트의 중복 개발을 방지함
4. 닷넷 프레임워크(.NET Framework)
- Windows 프로그램의 개발 및 실행 환경을 제공하는 프레임워크로, Microsoft 사에서 통합 인터넷 전략을 위해 개발함
- 코드 실행을 관리하는 CLR(Common Language Runtime, 공용 언어 런타임)이라는 이름의 가상머신 상에서 작동함
- 메모리 관리, 유형 및 메모리 안전성, 보안, 네트워크 작업 등 여러가지서비스를 제공함
'2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비) > 필기 5강 - 정보시스템 구축 관리' 카테고리의 다른 글
2장 - IT프로젝트 정보시스템 구축 관리 | 섹션12. 경로 제어 / 트래픽 제어, 섹션13. SW 관련 신기술, 섹션14. 보안 관련 신기술, 섹션15. HW 관련 신기술 (0) | 2024.05.08 |
---|---|
2장 - IT프로젝트 정보시스템 구축 관리 | 섹션10. 네트워크 관련 신기술, 섹션11. 네트워크 구축 (0) | 2024.05.07 |
1장 - 소프트웨어 개발 방법론 활용 핵심 요약 (0) | 2024.05.07 |
1장 - 소프트웨어 개발 방법론 활용 | 섹션3. 상향식 비용 산정 기법, 섹션4. 수학적 산정 기법, 섹션5. 프로젝트 일정 계획 (0) | 2024.05.07 |
1장 - 소프트웨어 개발 방법론 활용 | 섹션1. 소프트웨어 개발 방법론, 섹션2. S/W 공학의 발전적 추세 (0) | 2024.05.07 |