본문 바로가기

컴퓨터과학/소프트웨어공학11

SOLID 원칙 SOLID 원칙 좋은 객체지향 설계를 만들기 위한 기본 원칙들 SRP (단일 책임 원칙: Single Responsibility Principle) OCP (개방 폐쇄의 원칙: Open Close Principle) LSP (리스코프 치환 원칙: The Liskov Substitution Principle) ISP (인터페이스 분리의 원칙: Interface Segregation Principle) DIP (의존성 역전의 원칙: Dependency Inversion Principle) SRP 단일 책임 원칙 하나의 클래스가 하나의 기능만 가지고 있도록 설계 - 독립성 '하나의 변경 이유' 만을 갖도록 설계 "The Audience"(해당 클래스를 사용하려는 무언가) 찾기 가장 기본적이지만 가장 직접 구현.. 2021. 6. 13.
[소프트웨어공학] 형상 관리 - 형상 항목, 형상 식별자, 베이스라인 Github로 보기 형상 관리 형상 관리란 의미 소프트웨어 개발 산출물이 배치되어 있는 배열 정의 형상 항목을 식별하여 기능적 물리적 특성을 문서화 특성에 대한 변경을 제어 변경 처리 상태를 기록 및 보고 목적 프로젝트의 생명 주기 동안 제품의 무결성과 변경에 대한 추적성을 확보하기 위한 활동 형상 관리의 필요성 프로젝트에 내재된 문제점 요구사항의 변화가 많음 산출물에 대한 수정 결과가 관련자들에게 제대로 통보 되지 않음 동일한 산출물에 대해 개별적으로 작업을 함 하나의 산출물이 여러 개의 사본으로 존재하여 혼란을 초래 형상 관리의 필요성 소프트웨어의 특징으로 인해 발생할 수 있는 위험을 최소화하기 위해 비가시성, 변경 추적의 어려움, 관리 통제의 어려움, 많은 요구사항 변경 형상관리 활동 역할 및 책임.. 2021. 6. 3.
[소프트웨어공학] 검증과 확인 - 테스팅(화이트박스/블랙박스/기본경로) Github로 보기 검증과 확인 프로세스 검증과 확인 검증 올바른 제품을 생성하고 있는가 -> 요구사항 명세서 기반 판단 확인 제품이 올바르게 생성되고 있는가 고객이 의도한 요구사항에 따라 구현되었는지(명시되지 않은 것도 포함) 검증과 확인 작업은 실제로 구분하기 어려운 경우가 존재 방법과 종류 정적인 방벙 소프트웨어 개발 중에 생성되는 모든 산출물들에 대해 적용 가능 검토 - 코드리뷰 등 (인스펙션) (워크스루) 동적인 방법 소프트웨어 실행하여 결함을 찾아냄 대표적인 방법: 테스팅 Peer review란 동료 검토 절차 공지와 배포 준비 검토자는 에러 체크리스트로 산출물을 검토 검토 작성자, 진행자, 검토자들이 모여 산출물 검토 검토 보고서 작성 후속 조치 소프트웨어 테스팅 결함을 지칭하는 다양한 용어.. 2021. 6. 2.
[소프트웨어공학] 설계 2 - 객체 지향, 클래스 다이어그램, 시퀀스 다이어그램 Github로 보기 객체 지향 개념 객체란 특성(Attribute)과 행위(Behavior)를 가지고 있는 인지할 수 있는 개체(Entity) 특성: 해당 객체에 저장되어 있는 데이터 행위: 객체가 할 수 있는 일, 객체의 상태가 변하게 하는 원인을 제공 다른 객체와 구별할 수 있는 정체성(identity)를 가짐 클래스와 객체 클래스 여러 객체들의 공통된 속성을 나타내기 위한 대표적 구조 객체들이 내부적으로 어떠헥 구성되어 있는지 설명 객체 클래스의 실체(instance)라고도 함 각 객체 속성은 같지만 서로 독립적임 객체지향 방법의 특징 절차를 강조하는 구조적 방법은 데이터를 소홀히 하게됨 객체지향 방법의 특징 시스템을 구성하는 요소들은 객체로 시스템 개발의 복잡한 문제들을 캡슐화, 상속, 다형성 개.. 2021. 5. 17.