'소프트웨어공학'에 해당되는 글 2건

  1. 2014.10.21 소프트웨어공학, 소프트웨어 아키텍처 이론과 실제 마인드맵 by 승당
  2. 2014.10.21 소프트웨어공학 마인드맵 by 승당




소프트웨어 아키텍쳐


1. 정의

가. 아키텍처

1) SW구성요소와 그들이 지니고 있는 외부에 들어나는 특성과 구성요소간의 관계를 표현하는 시스템의 구조나 구조체

가) SW요소를 정의

나) 하나이상의 구조로 구성

다) 모든 SW는 아키텍처 존재

라) 시스템 행위를 아키텍처로 표현가능

2) 필요성

가) 이해관계자 의사소통수단

나) 초기 중요결정사항

(1) 개발제약사항 정의

(2) 개발구조 결정

(3) 품질속성 장려, 억제

(4) 일정 비용 예측

다) 재사용 가능한 시스템 추상화

(1) 특정시장의 시스템특징 공유(Product Line)

(2) 특정요소 외주 개발(교환용이성)

(3) 템플릿 기반 개발

라) 시스템 진화 방향 제시

나. 뷰

1) 이해관계자에 의해 읽히고 쓰이는 아키텍처 요소의 일관된 집합

다. 구조

1) 소프트웨어나 하드웨어에 존재하는 아키텍처 요소 그자체

라. 패턴

1) 특정문제에 대한 반복해서 나타나는 해결책

2) 장점

가) 설계생산성 향상

나) 문제와 해결채을 문서 ->문제영역의 어휘와 언어 정리

마. 스타일

1) 아키텍처 설계에서 반복해서 나타나는 문제들을 해결 하는 방법

바. 프레임워크

1) SW의 특정한 클래스에 대하여 재사용할수 있는 설계로 구성된 관련한 클래스들의 집합

2) 사용목적

가) 모듈화

(1) 구현을 I/F 뒤에 감추는 캡슐화

(2) 설계와 구현의 변경에 따르는 영향을 최소화

나) 재사용성

다) 확장성

(1) 다형성

라) 제어의역흐름

(1) 헐리우드의 원리

(가) 나를 부르지마라,

(나) 내가 너를 부를 것이다.

3) 종류

가) Spring

나) Struts

다) Ruby

사. 종류

1) 기술아키텍처 (지식)

가) 해결가능 솔루션 적용

2) 응용아키텍처 (선택)

가) 비즈니스 적합 선택

3) 비즈니스아키텍처 (분석)



2. 구조

가. 뷰타입

1) 모듈 (구현단위)

가) 분할스타일

(1) is part of

나) 사용스타일 use

(1) depend on

다) 일반화스타일 class

(1) is a

라) 계층스타일 layer

2) 컴포넌트&커넥터 (구조화)

가) 컴포넌트

(1) Client

(2) Server

(3) Filter

(4) Object

나) 커넥터

(1) Procedure Call

(2) Publishing Subscribe

다) 스타일

(1) 파이프 필터 스타일

(2) 공유 데이터 스타일

(3) 출판/구독 스타일

(4) 클라이언트/서버 스타일

(5) 피어투피어 스타일

(6) 커뮤니테이션 프로세스 스타일

3) 할당 (맵핑)

가) 배포스타일

나) 구현스타일

다) 작업할당스타일

나. 스타일

1) 아키텍처 스타일 + 디자인 패턴

2) Pattern Oriented SW Architecture(POSA)

3) 종류

가) 데이터중심 스타일

나) 데이터흐름 스타일

다) 가상머신 스타일

라) 호출/리턴 스타일

마) 독립적 컴포넌트 스타일

바) 이질적 컴포넌트 스타일

다. 뷰



3. 개발단계

가. 요구사항 분석

1) 유스케이스 모형정제

2) UI 설계

3) 객체모형 작성

나. 아키텍처 정의

1) SW 아키텍처 정의

2) 설계전략 정의

3) 비즈니스 컴포넌트 설계

4) 시스템 아키텍처 정의

5) 컴포넌트 획득

6) 데이터 모형 작성

다. 아키텍처 프로토타이핑

1) 아키텍처 프로타타입 계획

2) 아키텍처 프로토타입 개발

3) 아키텍처 프로토타입 평가

라. 테스트및 전환

1) 테스트 계획

2) 전환 계획



4. 품질속성 SAiP

가. 시스템

1) 가용성 Availability

2) 변경가능성 Modifiability

3) 시험용이성 Testability

나. 비즈니스

1) 적시성 Time to Market

2) 비용/예산 Cost/Buget

3) 목표시장 Target Market

4) 첫공개일정 Rollout Schedual

5) 기존시스템통합 Legacy Integration

다. 아키텍처

1) 개념적무결성 Conceptual Integrity

2) 정확성/완전성 Correctness / Completeness

3) 구축가능성 Buildability



5. 아키텍처 평가

가. 기법

1) ATAM Architecture Tradeoff Analysis Method

가) 민감점(Sensitivity Points)

나) 절충점(Trade off Points)

다) 위험/무위험risk/nonrisk)

라) 아키텍처 접근법 분석서

2) CBAM Cost Benefit Analysis Method

가) 목적

(1) 비용(Cost) 최소화

(2) 이익(Benefit) 최대화

(3) 불확실성(Uncertainty) 최소화

나) 단계

(1) 시나리오결정

(2) 효용-반응값곡선 작성

(3) 아키텍처접근법 전체이익계산

(4) 아키텍처접근법 선정과검증

3) SAAM Software Architecture Analysis Method

가) 최초 정의된 아키텍처 평가방법

나) 간단하고 다양한 영역 적용가능

다) 시나리오

(1) 직접시나리오

(2) 간접 시나리오

4) ARID Active Reviews for Intermediate Designs

가) 부분아키텍처를 아키텍처 설계초기에 평가하는 방법

나) ATAM,SAAM + ADR 혼합

나. 방식

1) 이른평가(Early)

2) 늦은평가(Late)

다. 결과

1) 적합성판단 Suitability

2) 달성목표

3) 우선순위

라. 베이스라인



6. 문서화 SAD

가. 표준

1) IEEE 1471-2000

2) 아키텍처 관련 용어,개념 통일

3) 기술중립적

나. 작성공정

1) 아키텍처 정보작성

2) 이해관계자 관심식별

가) 사용자

(1) 필수 이해관계자

나) 인수자

다) 개발자

라) 유지보수자

3) 관점 선택

가) 뷰를 작성하는 규칙과 방법 정의 => 뷰의 메타모델

4) 관점 설명 작성

가) 관점이름

나) 관점관련 이해관계자목록.관심

다) 뷰작성 방법

5) 뷰 작성

6) 전체 뷰 작성

가) 시스템 개괄

나) 뷰사이 관계

다) 구성요소 사전

라) 용어사전

다. 형식

1) 1.Revision history정보

2) 2.Introductino

가) purpose

나) scope

다) 목적

라) 범위

3) 3.Architecture Representation

4) 4.Architecture Goal & Constraints

5) 5.4+1 View

가) Use case

나) Logical(논리적)

다) Process(프로세스)

라) Developmentation(개발)

마) Implementation(물리적)

6) 6.Size & Performance

7) 7.Quality

라. 아키텍처 프레임워크

1) 정의

가) 아키텍처 기술서를 구성하는 뷰가 따라야 하는 관점들과  이 관점들 사이의 관계를 정의

2) 4+1 View

가) 시나리오 Use case

나) 논리 Design

다) 물리 Deployment

라) 개발 Implementation

마) 프로세스 Process

3) RM-ODP Reference Model for Open Distributed Processing

가) 엔터프라이즈관점

나) 정보관점

다) 계산관점

라) 공학관점

마) 기술관점



http://digilogmap.tistory.com



정보관리기술사 준비를 위한 마인드맵

소프트웨어 공학 > 소프트웨어 아키텍처


정보관리기술사 신재용


Posted by 승당
l





(null)


소프트웨어공학


1. SDLC

가. 절차

1) 계획

가) 타당성분석

나) 비용,기간 예측

2) 요구분석

3) 설계

4) 구현

5) 테스트

6) 유지보수

가) 종류 (교적완방)

(1) 교정

(2) 적응

(3) 완전

(4) 예방

나) 절차

(1) SW이해

(2) 변경요구분석

(3) 변경및효과예측

(4) 회귀테스트

다) 향상방안

(1) 모듈화

(2) 코딩스타일

(3) 문서화

나. 모델

1) 폭포수모델

2) 프로토타입

3) 나선형모델

4) 반복적

가) 점진적

나) 진화적

5) RAD

다. 표준

1) ISO12207



2. 방법론

가. 구조적방법론

1) 프로세스중심 개발

나. 정보공학방법론

1) 데이터중심 개발

2) 절차

가) ISP

나) BAA

다) BSD

라) SC

다. 객체지향방법론

1) 기본개념 (캡상추다)

가) 캡슐화

나) 상속성

다) 추상화

(1) 기능

(2) 자료

(3) 제어

라) 다형성

(1) overloading

(2) overriding

2) 특징

가) 모형의적합성

나) 재사용 용이

(1) 열림특성,닫힘특성

(2) 상속성,다형성

다) Time to Market

(1) 재사용,패턴언어

라) 설계와 프로그램 매핑

라. CBD

1) 요구획득

2) 1st Iteration : 아키텍처

3) 2nd Iteration : 점진적개발

4) 3nd Iteration(권장) : 점진적개발

5) 인도

마. RUP

1) 개념정립(inception)

2) 전개(elaboration)

3) 구축(construction)

4) 전환(treansition)

바. Agile

1) XP

2) SCRUM

3) DSDM

4) FDD

5) AOP

가) joint point

나) cross cutting

다) advice

라) weaving

(1) Dynamic

(2) Static

사. 아키텍처중심개발

1) SW아키텍처

가) 구조

나) 품질

(1) 시스템

(2) 비즈니스

(3) 아키텍처

다) 평가

(1) ATAM

(2) CBAM

(3) SAAM

(4) ARID

2) PLE

가) Core asset

나) Product

다) Management

3) MDA

가) CIM

나) PIM

다) PSM

4) EDA

5) SOA



3. 테스트

가. 단계(단통시인)

1) 단위

가) 인터페이스

나) 로컬데이터구조

다) 경계조건

라) 수행경로

2) 통합

가) Stub/Driver

나) 상향식/하향식

3) 시스템

가) 회안강성구

4) 인수

가) 알파

나) 베타

다) Validation

5) 회귀

나. 분류

1) 명세기반

2) 구조기반

3) 경험기반

다. 기법

1) BlackBox(동경원오)

가) 동치분할

나) 경계값

다) 원인오류

라) 오류탐색

2) WhiteBox(수분조루)

가) 수행

나) 분기

다) 조건

라) 루프

라. 목적(회안강성구)

1) 회복

2) 안정

3) 강도

4) 성능

5) 구조

마. 시각

1) Validation

2) Verification

바. 테스트 커버리지

1) Statement

2) Decision

3) Condition

사. 자동화

1) 코드분석

가) 정적분석

나) 동적분석

2) 테스트케이스

가) 자료흐름도

나) 기능테스트

다) 입력도메인분석

라) 랜덤테스트

3) 테스트실행

가) 캡춰&리플레이

나) 스텁/드라이버

다) 자동테스트환경

아. Walkthoruth

자. Inspection



4. 비용산정

가. LOC

나. FP

1) 경험중심적

2) 비즈니스응용분야에 정확

3) 생산성매트릭필요

4) 활용

가) 생산성 : MM/FP

나) 비용 : 비용/FP

다. COCOMO

1) 원시프로그램 규모

2) 유형

가) 단순형

나) 중간형

다) 임베디드형

3) 노력승수값

가) 제품특성

나) 컴퓨터설정

다) 개발요원특성

라) 프로젝트특성

라. COCOMO II

1) SW개발진척에따른모델

2) 단계

가) 프로토타이핑

나) 초기설계

다) 설계이후

3) 특징

가) 재사용성

나) 요구분석/변경

다) FP적용

마. 정통부대가산정



5. 관리

가. UML

1) 사물

2) 관계

3) 다이어그램

가) 행위

나) 구조

나. 디자인패턴

1) 종류

가) 생성

나) 구조

다) 행위

2) 형식

가) 이름

나) 종류

다) 의도

라) 결과

마) 구현

바) 예제코드

다. 리팩토링

1) Principles

가) OAOO

2) Smells

3) Refactoring

가) extract

나) remove

다) rename

4) Test

라. 유지보수 (교적완방)

1) 교환

2) 적응

3) 완전

4) 예방

마. SLA/SLM

바. 아웃소싱

사. 형상관리

1) 절차

가) 식별

나) 통제

다) 감시

라) 기록

2) CCB

아. 영향도분석

자. 품질관리

1) Umbrella Activy (보호활동)

가) 프로젝트관리

나) 문서화

다) 품질보증

2) 종류

가) 제품품질

나) 프로세스품질

3) QP

4) QC

5) QA

차. Baseline (기분설시제운)

카. 감리

1) 프레임워크

가) 사업유형

나) 감리영역

다) 감리관점

(1) 절차

(2) 산출물

(3) 성과

2) 결과

가) 적정

나) 보통

다) 미흡

라) 부적정

3) 보고서

4) 절차



6. 표준

가. ISO9126

1) 기신사효유이

2) 신뢰성/가용성

나. ISO14598 (계획평)

1) 개발자

2) 획득자

3) 평가자

다. ISO12207 (조지기)

1) 조직

2) 지원

3) 기술

4) 조정(Tailering)

라. ISO20000

1) ITIL/ITSM

2) BS15000

마. ISO25000 (정모관측평)

1) 정의

2) 모델

3) 관찰

4) 측정

5) 평가

바. ISO12119 (제사실행)

1) 제품설명

2) 사용설명

3) 실행SW

사. ISO15504 (SPICE)

1) 기본(CUS)

2) 공학(ENG)

3) 지원(SUP)

4) 관리(MAN)

5) 조직(ORG)

아. ISO15288 (기기프협)

1) 기업

2) 기술

3) 프로젝트

4) 협정

자. CMMI

1) 종류

가) Staged

나) Continous

2) 단계

가) init

나) repeat

다) define

라) manage

마) optimize

3) PA

가) Project

나) Process

다) Support

라) Enginering

차. PSP/TSP

카. GS인증

1) TTA

2) 우선구매제도

타. K모델



7. 요구분석

가. 종류

1) 기능적

가) 기능

나) 자료

다) 인터페이스

라) 사용자

2) 비기능적

가) 자원

나) 성능

다) 보안

라) 품질

나. 단계

1) 요구추출

가) 인터뷰

나) 현행시스템

다) 도메인모델

(1) 벤치마킹

(2) 베스트프랙티스

라) 문서(관련법규,규정)

2) 요구분석

가) 구조적

나) 객체지향

다) 정보공학

라) 정형화

3) 요구관리(REQM)

가) CMMI 2level

나) 내용

(1) Understand

(2) Manage Change

(3) Control Status

(4) Traceablility

4) 요구개발(RD)

가) CMMi 3level

나) 내용

(1) Elicitation

(2) Analysis

(3) Specification

(4) Verification

다. 요구분석명세서

1) 주의사항

가) 개발자,사용자 합의

나) 수행기능 명확정의

다) 제약조건 명시

라) 인수기준

마) 품질기준,테스트방안

2) 평가

가) 무결성,완벽성,명확성

나) 일관성

다) 기능적

라) 검증가능

(1) 요구만족

(2) 개발일치

마) 추적성

3) 검증항목

가) 불필요한 명세

나) 미기술

다) 지나친 명세

라) 모순,모호성

마) 성급한참조

바) 희망사항



8. 설계

가. SW설계원리

1) 추상화

가) 기능

나) 데이터

다) 제어

2) 정보은닉

3) 구조화

가) Divide

나) Conquer

4) 모듈화

가) 응집도(Cohesion)

나) 결합도(Coupling)

나. 인터페이스설계

1) 사용자분석

가) 초보자

나) 일반

다) 전분가

2) 대화설계

가) 일관성

나) 오류처리

다) 간편

3) 상호작용

가) 메뉴선택

나) 양식채움

다) 명령어

라) 직접조작


http://digilogmap.tistory.com


정보관리기술사 준비를 위한 마인드맵

소프트웨어 공학 총괄


정보관리기술사 신재용



Posted by 승당
l