본문 바로가기
반응형

정보관리기술사&컴퓨터응용시스템기술사/SW공학과 프로젝트관리23

[아키텍처 모델] 아키텍처 설계에서의 BP 모음집 I. 아키텍처 설계에서의 BP 모음집, 아키텍처 모델의 개요 가. 아키텍처 모델(Architecture Model)의 정의 - 아키텍처 설계에서 반복적인 문제를 해결하고 아키텍처가 만족시켜야 하는 시스템 품질 달성을 위해 Best Practice를 정리한 패턴 - 뷰를 표현할 때 반복적으로 나타나는 재사용이 가능한 아키텍처의 형태 나. 아키텍처 모델의 기능 특징 설명 스키마 제시 - SW 시스템 구조를 체계적으로 구성하기 위한 스키마 제시 서브시스템 - 미리 정의된 서브시스템 제공 패턴 간 책임 명시 - 각 아키텍처 간 관계 및 책임을 명시 가이드라인 제시 - 패턴 간의 관계를 조직화하는 규칙, 가이드라인 제시 모듈단위 분해방법 제시 - 문제를 소프트웨어 모듈 단위로 분해하는 방법 제시 모듈단위 상호작용.. 2021. 1. 30.
[SW 아키텍처 평가] SW Architecture 수준의 대한 품질 평가 I. SW 아키텍처 수준에 대한 품질평가, SW Architecture 평가의 개요 가. SW Architecture의 정의 - 제시된 소프트웨어 아키텍처가 대상 시스템에서 요구하는 품질속성을 만족시킬 수 있는지 적합성을 평가하는 표준절차 - 제시된 SW 아키텍처가 시스템 요구품질 속성을 만족시키는지 적합성을 “예측, 실무, 사례, 정량적”으로 평가하는 표준절차 나. SW 아키텍처 평가 방법론 유형 방 법 내 용 평가 유형 Scenario Based 품질 요소를 위해 미리 정의된 Profile에 의존하여 평가 시나리오 기반평가 결과도 정밀, ATAM, CBAM, SAAM 예측 평가 Simulation Based BMT(BenchMarking Test) 시뮬레이션 기반 평가 실무 평가 Experience .. 2021. 1. 29.
[ISO42010] SW 아키텍처의 표준 I. SW Architecture의 표준, ISO/IEC/IEEE42010의 개요 가. ISO/IEC/IEEE42010의 정의 - 소프트웨어의 컴포넌트의 특성, 관계들로 구성되는 시스템의 구조를 설계하고 전개하기 위한 지침과 원리에 대한 국제표준 - SW 집약적 시스템에서 아키텍처가 표현해야 하는 내용 및 관계를 제공하는 아키텍처 명세를 위한 표준모델 (SAD와 같은 SW 아키텍처를 설명에 대한 국제표준) - 시스템 및 소프트웨어의 프레임 워크 및 아키텍처 기술 언어에 적용되는 요구 사항을 정의한 아키텍처 기술에 대한 국제표준 나. ISO/IEC/IEEE42010의 필요성/특징 구분 특징 설명 비즈니스 측면 변화민첩성 다양한 비즈니스 요구사항에 대한 민첩한 대응(Agility) 비용절감 소프트웨어 재사용.. 2021. 1. 29.
[MSA(Micro Service Architecture) 독립된 서비스로 시스템을 분할하는 아키텍처 I. 독립된 서비스로 시스템을 분할하는 아키텍처, MSA의 개요 가. MSA(Micro Service Architecture)의 정의 - 대규모 소프트웨어 구축을 위해 동작이 가능한 기능단위로 서비스를 분할하고, 각 서비스들이 API형태로 제공되는 아키텍처 나. MSA의 등장배경 구분 설명 개발환경의 변화 소프트웨어 경쟁력 확보를 위해 고객 요구에 대한 신속한 대응 중요 기존 아키텍처 Monolithic 아키텍처는 모듈 간 결합도가 높고, 배포 시간이 길어 신속한 대응 한계 II. MSA의 구성도 및 구성요소 가. MSA의 구성도 - Rest API를 통해 마이크로 서비스간 통신으로 서비스를 개발하고, 서비스별 최적의 DB 선택 가능 나. 마이크로 서비스 아키텍처의 구성요소 문서종류 문서내용 세부내용 C.. 2021. 1. 13.
[WBS(Work Breakdown Structure), 프로젝트 일정 및 R&R 관리 계획을 위한 Framework I. 프로젝트 일정 및 R&R 관리 계획을 위한 Framework, WBS 의 개요 가. WBS(Work Breakdown Structure)의 정의 프로젝트 인도물과 전체 업무 범위를 관리 가능한(Manageable) 요소들로 분해한 계층도로, 프로젝트 업무 범위를 작업할 수 있는 최소 업무 단위로 분할한 것 나. WBS 특징 특징 설명 세분화 팀원이 보통 1~2주 내 처리할 수 있는 단위로 세분화 진척 관리 프로젝트 수행인원에 대한 업무 진척관리 도구로 활용가능 선후관계정의 각 WBS별 선/후 의존성, 연관관계 파악이 가능 II. WBS DFD 및 구성요소 가. 요구사항 수집 DFD(Data Flow Diagram) 나. 수집기법 도구 및 기법 설명 전문가 판단 비즈니스 분석, 요구사항 도출, 분석 .. 2021. 1. 13.
[프로젝트 관리 지식영역] 프로세스 그룹별로 진행할 활동의 그룹핑 I. 프로세스 그룹별로 진행할 활동의 그룹핑, 프로젝트 관리 지식영역의 개요 가. 프로젝트 관리 지식영역(Knowledge Area)의 정의 - 프로젝트의 효과적인 관리를 위해 유사한 기능의 프로젝트 관리 프로세스들을 묶어서 10개의 영역으로 그룹화한 지식체계 나. 프로젝트 관리 지식 영역의 특징 구분 설명 10개의 지식영역 통합관리, 범위관리, 일정관리, 원가관리, 품질관리, 자원관리, 의사소통관리, 리스크 관리, 조달관리, 이해관계자 관리의 10개 지식영역으로 구성 49개 프로세스 5개의 프로세스 그룹(착수, 계획, 실행, 감시 및 통제, 종료)과 연관되어 49개 프로세스로 구성 II. 프로젝트 관리 지식 영역의 구성도 및 구성요소 가. 프로젝트 관리 지식영역의 구성도 - 프로젝트 목표를 효율적으로 .. 2021. 1. 12.
[요구사항 수집] 프로젝트 목표달성의 지표 I. 프로젝트 목표달성의 지표, 요구사항 수집 가. 요구사항 수집 정의 이해관계자들이 필요로 하는 요구사항을 파악하고 문서화하는 단계로 프로젝트 목표달성의 평가 기준 나. 요구사항의 구성요소 구분 종류 기능 요구사항 -제품과 서비스의 요구사항 -SW의 기능 및 특성 비기능 요구사항 품질관련 요구사항 II. 요구사항 수집 DFD 및 수집기법 가. 요구사항 수집 DFD(Data Flow Diagram) 나. 수집기법 도구 및 기법 설명 전문가 판단 비즈니스 분석, 요구사항 도출, 분석 등 전문지식을 갖준 개인이나 그룹의 전문성 고려 데이터 수집 -브레인스토밍 아이디어 도출을 위한 집단적 창의적 발상 기법 이해관계자간 대화를 통해 정보 수집 -핵심전문가 그룹 제안된 제품, 서비스에 대한 기대사항과 의견 교환을.. 2021. 1. 12.
[린(Lean) 프로세스], 낭비요소 제거를 통한 프로세스 향상 I. . 낭비요소 제거를 통한 프로세스 향상, 린(Lean)의 개요 가. 린(Lean)의 정의 - 낭비의 제거를 통해 프로세스를 지속적으로 개선, 수행속도를 높이고, 소프트웨어의 품질을 향상시키는 기법 (개발 프로세스가 아닌, 경영 기법, 사상임) 나. 린의 특징 특징 설명 신속성 - Lean은 낭비를 발견하고 제거함으로 고객에 가치를 빠르게 제공 생산성 향상 - 생산성 향상을 위해 사용하는 Lean 원칙을 SW 개발에 적용 결함제거 - SW 개발의 가장 큰 낭비는 결함이고 결함 제거 개념이 Agile과 유사 (Agile보다 큰 개념) - 프로젝트 초기 고객과의 접촉을 많이 하여, 낭비 및 폐기를 줄이는 프로세스 II. 린의 개발원칙 및 낭비요소 가. 린의 개발원칙 (7개) 개발원칙 설 명 낭비제거(El.. 2021. 1. 12.
[CI/CD 지속적통합/지속적배포], Devops 의 핵심 구성요소 CI / CD 란? CI/CD는 애플리케이션 개발 단계를 자동화 하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다. CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제(일명 “ 인테그레이션 헬(integration hell) “)을 해결하기 위한 솔루션입니다. 지속적 통합(Continuous integration) 지속적인 통합을 수행하는 개발자는 변경 사항을 가능한 자주 main-line 브랜치로 병합합니다. 빌드를 작성하고 빌드에 대해 자동화된 테스트를 실행하여 개발자의 변경 사항을 검증합니다. 이렇게 하면 릴리스 일정에 따라 변경사항을 릴리스 브랜치에 병합하려 할 때 일반적으로 .. 2021. 1. 10.
[객체지향 프로그래밍(OOP)], 재사용성과 객체 표현 기법 I. 재사용성과 객체 표현 기법, 객체지향의 개요 가. 객체지향 프로그래밍(OOP, Object-Oriented Programming)의 정의 - 실세계의 개체(Entity)를 속성(Attribute)과 메소드(Method)가 결합된 형태의 객체(Object)로 표현하는 개념으로 실세계의 문제 영역에 대한 표현을 소프트웨어 해결영역으로 매핑 - 구현대상을 하나의 객체로 보고, 그 객체를 객체와 객체들 간의 관계로 모델링하는 방법 나. 객체지향 프로그래밍의 등장배경 개발측면 - 소프트웨어 위기 해결을 위한 대안 - 생산성 저하에 따른 재사용성, 확장성 필요 사용측면 - 기능성, 단순성, 사용자편의성 요구 증대 다. 객체지향 프로그래밍의 특징 구분 설명 모형의 적합성 - 객체 중심의 모형은 인간의 사고방식과.. 2021. 1. 9.
[객체지향 설계 5원칙] 유지보수와 확장에 용이한 시스템을 위한 원칙 I. 유지보수와 확장에 용이한 시스템을 위한, 객체지향 설계 5원칙의 개요 가. 객체지향(Object-Oriented) 설계원칙의 개념 - 코드 작성시 유지보수, 유연성, 확장성을 용이하게 하기 위해 SRP, OCP, LSP, ISP, DIP로 구성된 설계 원칙 → 시스템에 새로운 요구사항이나 변경이 있을 때 영향도를 최소화하는 설계 나. 객체지향 설계원칙의 필요성 - 잘못 관리된 의존성 때문에 Design Smell 발생하여 유지보수/확장의 어려움 ※ Spaghetti Code → 의존성 관리에 대한 가이드 필요 [참고] Design Smell Rigidity (경직성) 특정 모듈을 수정하면 다른 모듈을 계속 수정해야 함 Fragility (취약성) 특정 모듈의 수정이 다른 모듈에 문제를 일으킴 Imm.. 2021. 1. 6.
[Agile 방법론] 작동하는 SW 중심 I. 작동하는 소프트웨어 중심, 애자일 방법론의 개요 가. 애자일(Agile) 방법론의 정의 - 절차와 산출물 보다는 소프트웨어 중심으로 요구사항 변화에 유연, 신속하게 대응하여 효율적으로 개발할 수 있는 방법론 - 고객과 협업, 실행가능 SW, 환경과 고객 변화 대응의 가치를 강조하는 애자일 방법론 선언문 - (The Manifesto for Agile Software Development) - 전통적인 모델은 산출물 위주의 거대하고 무거운 방법론에 해당한다. 이러한 방법론은 요구 사항의 변화에 유연하게 대처하기 어렵다는 큰 문제점 나. 애자일 방법론의 등장배경 등장배경 설명 S/W 개발환경의 변화 적시성(Time-to-Market)과 적시 배포(Release)의 중요성 증대 기존 개발방법론의 한계 문.. 2021. 1. 6.
반응형