-
소프트웨어 공학 내용정리IT정보 2020. 11. 2. 14:25
소프트웨어 공학 내용에 대해 간략히 정리를 해봤다.
소프트웨어공학
방법과기술=체계적이고 가이드라인 프로세스
방법론=what, how
폭포수모델
고전적인 소프트웨어 생명주기
한방향으로 진행,
병행수행 못함
장1:단순하고 이해하기 쉬움.
장2:프로젝트 진행상황 파악이 쉬움
장3:체계적으로 문서화 가능
단1:요구사항을 완벽히해야함
단2:변경수용 어려움
단3:시스템동작은 후반에나 볼수 잇음
단4:대형프로젝트에 못씀
단5:문서화노력이 지나침
단6:지연될 수 있음
반복진화형모델
초기버전 만들고 새로운버전을 개발하는 방식.
프로토타입
단:개발비용예상 힘들고 재작업이 커서 늦춰질 가능성있음
요구사항이 불안정할때 사용
50만라인 중소형시스템에 사용
점증적모델
여러개 모듈들로 분해해서 개발중요한점증 가장먼저 개발
중요한부분 반복적 테스트됨
점증추가가 되면 시간차를 두고 계속 여러번 릴리즈
나선형모델
반복진화형 확장형태
대형프로젝트에서 씀
V모델
폭포수 확장형태
각 단계별로 테스트가 있음
애자일방법
변화수용 협업강조 제품의 빠른인도
높은 요구사항변화에 대응하기위한 반복적 개발방법
익스트림 프로그래밍(XP)
문서화보다 소프트웨어 자체 검증
기능점수
규모측정
구현 기술이나 구현 언어와는 무관
요구사항이나 명세서를 이용해 점수 추정이 가능
프로젝트계획 cpm=임계경로
일정계획을 위해 작업의 선후 관계 고려하여 그래프 작성
임계정로는 시작~종료까지의 경로 중 가장 긴 경로
임계경로 상의 작업은 일정 준수를 위해 지연이 허영되지 않음
간트차트=막대모양으로 순서를 보여줌
코코모cocomo=라인수
프로세스 성숙도가 가장 높은 조직
정량적 측정과 통제가 가능한 표준 프로세스 존재.
알파테스트=소프트웨어 개발현장에서 테스트
베타테스트=고객의 실제환경에서 수행. 제품 출시전.
시스템테스트
테스트작업을 제대로 하려면 요구명세서가 있어야함.
요구사항 내용은 테스트작업을 통해 검증 가능해야함.
예외적 입력값을 고려해야함.
보안테스트
성능테스트
인수테스트
블랙박스테스트를 위한 테스트케이스 개발방법
요구사항분석하여 임력값 범위 정하고 경계값을 분석
원인 결과 그래프로부터 의사결정테이블 유도
입력값의 범위를 동치클래스로 나누고 대표값을 선택
객체지향 분석과정 결과물은 = 기능모델, 분석객체모델,동적모델 3개로 나뉜다.
여기서 분석과정 입력물이기도 한 기능모델은=유스케이스 명세 또는 사용자 스토리 이다.
시스템모듈화
모듈간에 느슨하게 결합
모듈은 독립적
높은 응집력
유지보수에 용이함.
아키텍처스타일=시스템설계모델 초안으로 사용가능함.
완전 유지보수=기능 선능 개선 필요한 변경작업 수행, 가장 흔함.
소프트웨어유지보수의 리팩토링=기능은 그대로, 프로그램구조 개선, 가독성 올리고, 유지보수성 올리고, 성능개선
시스템설계단계=프로그램의 설계목표 정의, 시스템을 서브시스템으로 분해하는 단계
통합프로세스4단계 정련=최종적으로 80%정도의 유스케이스를 상세히 작성, 전체시스템15%정도 구현하는 단계
유스케이스
사용자 요구사항을 구조화하여 표현한것. 자연어로 기술됨
특정기능 독장 설명 시나리오
유스케이스 명세 작성
유스케이스 다이어그램은 유스케이스 및 이들간의 관계를 요약적으로 표현
유스케이스 명세는 사용자 요구사항을 구조화하고 테스트로 기술
유스케이스 명세의 구성요소중 기본 흐름은 목적달성하는 성공적 시나리오이다.
UML 액티비티 다이어그램
액션들의 흐름을 통해 계산과정을 단계적으로 표현
비즈니스 프로세스 작업 흐름 표현
흐름도와 유사하나 액션들의 병렬수행이나 시간관련 이벤트 표현 가능
다이어그램 메시지 주고받는 4개요소 순서
액터->경계객체->제어객체->엔터티객체
캡슐화
필요한 부분만 외부노출
내부정보 나머지는 숨김
내부변경이 있어도 외부 영향없음
액터-경계-제어-엔터티
클래스 및 클래스 다이어그램
A is a Kind of B
템플릿(제너릭)
타입파라미터를 가지는 클래스-재사용성이 높음-타입이 정해지지않고 그떄그떄 맞게 넘겨줌.
상태머신 다이어그램
단일객체 행위 모델링
특정객체가 생성되어 소멸되기 까지 전과정에 걸처 발생하는 이벤트에 다른 상태변화를 나타넴
병행상태
포크와 조인
모듈화
시퀀스다이어그램=시스템 구성요소들이 어떻게 상효작용하는가 시각화
통신다이어그램=메시지 송수신 관계
클래스=객체의 설계도, 객체는 클래스의 인스턴스
액티비티다이어그램
객체다이어그램
파티션(스웜레인)=구역을 파티션으로 구분
소프트웨어품질
ISO/IEC 9126
ISO/IEC 25000 = SQuaRe
프로세스품질
ISO/IEC 15504
ISO/IEC 12207
ISO 9000
ISO 9001
CMMI=조직평가
MTTF=가동이 되어 고장발생까지의 평균
MTBF=고장수리 후 다시 고장날떄까지 평균시간
AVAIL가용성=신뢰도 가동시간
ROCOF=고장발생 비율'IT정보' 카테고리의 다른 글
이산수학 정리2 (0) 2020.11.03 이신수학 정리1 (0) 2020.11.03 실패한 개발자가 젊은 개발자에게.. (0) 2020.07.30 [JSP]javascript 정규식표현에 대해 기초부터 심화까지 (0) 2020.07.29 [JSP]JSP의 동작원리. 컴파일이 되어 실행되는 과정 (0) 2020.07.28