본문 바로가기

컴퓨터/소프트웨어 공학6

[소프트웨어 공학] 소프트웨어 설계 원칙/응집도, 결합도, 복잡도의 특성과 측정 응집도, 결합도, 복잡도의 특성과 측정 목차 응집도 결합도 복잡도 소프트웨어의 설계는 요구사항(Requirements)를 바탕으로 (분석 과정을 거쳐) 진행된다. 이 과정에서 유지보수성을 생각한다면 응집도, 결합도, 복잡도를 설계 원칙으로 하여야한다. 또한 여기에 더해 객체지향 설계를 한다면 SOLID(SRP, OCP, LSP, ISP, DIP) 디자인 패턴 역시 고려하여야한다. 이번에는 이 중 응집도 결합도 복잡도의 개념과 측정을 정리한다. 분석과 설계의 차이 : 요구사항 중 기능적 요구사항만을 고려하면 분석, 추가적으로 비기능적 요구사항 역시 고려하면 설계라고 한다. *요구사항 : 시스템이 갖추어야 할 요건을 정리한 것, 요구사항의 내용은 기능적 요구사항과 비기능적 요구사항으로 나눌 수 있다. *기능.. 2022. 12. 17.
[소프트웨어 공학] 테스팅이란? 테스트 방법 및 기법 정리(블랙박스 vs 화이트박스) 테스팅이란? 소프트웨어 테스트란? 목차 테스트의 종류 테스트케이스 디자인 테크닉 블랙박스 테스팅 화이트박스 테스팅 블랙박스 vs 화이트박스 소프트웨어 테스트란 실제 결과가 예상 결과와 일치하는지 확인하여 소프트웨어 시스템의 결함을 찾아내는 작업이다. 소프트웨어 테스팅에 쓰이는 용어는 아래와 같다. 실제 실행 결과(Actual Output) : Input으로 Test Item을 실행한 실제 결과 기댓값(Expected Result) : 실행 결과로서 나올것으로 기대하는 결과값. 즉 정상적으로 작동할 경우 나와야할 값이다. 테스트 결과(Test result) : 예상 결과와 실행 결과를 비교한 값이다. 테스트 결과가 fail일 때 결함을 검출 할 수 있으므로 성공이라고 할 수 있다. 테스트 대상(Test I.. 2022. 12. 11.