소프트웨어 공학(5)
-
품질
- 높은 수준의 SW 품질을 달성하려면 광봄위한 활동이 필요함 테스트 - 품질을 보장하는 가장 일반적인 방법 - 결함을 줄이고 방지하는 것이 제한적인 이유 - 제품 주기에서 테스트가 너무 늦게 수행됨 - 코드가 개발 단기에 생성 X - 테스트는 좁은 차원만 다룸 - 신뢰성 외에 유지보수성, 확장성 등에 향상 X - 테스트는 코드 품질만 향상 시킴 - 관련 문서 등 확인 X #리뷰 - 테스트를 보완하고 개발 초기에 검토할 수 있어 오류를 조기에 발견 - 제품이 변경돠거나 예상치 못한 조건에서 작동하는 데 필요한 품질 확인 가능 -유지보수성, 재사용성 등과 같은 비기능 품질 요구 사항을 검증하는데 적합 품질 보증 - 계획된 품질 수준을 가지고 있음을 보장하는 활동 - 품질 보증 활동 - 개발사와 협력하여 S..
2022.06.04 -
유지보수
유지보수란 - 개발 후에 이루어지는 소프트웨어의 변경 작업 - SW가 유용하게 활용되는 기간 - SW는환경과 비즈니스 요구에 따라 진화함 - 유치보수에 드는 노력은 전체 비용의 60~80% 레거시 시스템 - 대체하려면 많은 비용이 발생 - 지식, 경험, 지능이 녹아있음 # 여러 가지 이유로 수정 후 배포하는 작업 - 버그 제거 - 운영 환경의 변화 - 비즈니스 절차의 변화 - 미래 문제를 배제하기 위하여 변경 유지보수 유형 - 수정형 유지보수 : 발견된 결함을 고치기 위해 SW제품을 수정 - 적응형 유지보수 : 변경된 환경에서도 계속 사용할 수 있도록 SW를 이식하거나 변경 - 완전형 유지보수 : 성능이나 유지보수성을 개선하기 위해 실히 사용자의 요청되는 기능 보강 때문에 발생 - 예방형 유지보수 : 오..
2022.06.04 -
테스트
테스트란 - 시험할 소프트웨어에 테스트 케이스를 주어 실행시킨 후 시스템의 동작이 예상한 대로 실행되는지 확인하는 것 - SW 개발은 인간 중심의 활동이며 지적 활동 - 오류가 발생하기 쉬움 - 개발 과정에서의 2번 실수 - 결함 발생, 테스트 오류 - 결함을 낮추는 방법 - 처음부터 결함 방지 : 인스펙션, 정적 분석 - 유입된 결함을 식별하고 제거 : 테스트, 디버깅 # 검증 : 제품을 올바르게 구축하고 있는가 # 확인 : 올바를 제품을 만들고 있는가 # 버그 : 문제, 결함 또는 난이도를 나타내는 데 일반적으로 사용되는 용어 # 오류 : 개발자가 잘못하여 설계나 코딩에 실수한 것 # 결함 : 시스템 고장을 일으키게 한 오류의 결과 코드 또는 문서에 오류가 있다고 선언된 것 # 고장 : 시스템이 원하..
2022.06.04 -
코딩
코딩 로드맵 소프트웨어 제품의 품질은 결국 원시 코드에 모두 귀결 - 설계가 완료되면 코딩 단계 시작 - 코딩 단계에 투입되는 시간이 다른 단계보다 상대적으로 적음 - 허나, 품질에 미치는 영향은 매우 큼 목표 - 설계 명세에 나타낸 대로 요구를 만족할 수 있는 프로그래밍 - 오류가 적은 품질 좋은 프로그램 - 작업과정 1. 원시 코드를 같은 스타일로 만들기 위해 코딩 표준 제작 2. 아키텍처 설계 결과 프레임워크 패키지와 응용 패키지를 결정 3. 클래스 구현이 끝나는 대로 인스펙션 4. 클래스 단위로 테스트 5. 클래스나 패키지를 릴리스 -> 응용 시스템으로 통합 코딩 표준 코딩 스타일 : - 문장 패턴이나 구성 등읠 일관된 유형 좋은 코딩 스타일 : - 간결함 : 복잡하지 않고 명확하여 이해가 쉬운 ..
2022.06.04 -
디자인 패턴
디자인 패턴이란 아키텍처 설계 수준보다 낮은 수준의 설계 문제에 재사용 가능한 솔루션 제공 디자인 패턴 혜택 - 쉽게 재사용 가능 - 개발 시간 단축 - SW구조 파악 용이 - 설계 관련 지식 정리됨 - 개발자 간 의사소통 원할 - 객체지향 설계 원리를 잘따르게 됨 디자인 패턴 종류 생성 패턴 : 객체를 생성하는데 관련된 패턴 - 객체의 생성과 조합을 캡슐화 - 특정 객체가 생성,변경 되어도 프로그램 구조에 영향을 크게 안줌 : 유연성 제공 예 ) factory method: 생성할 객체의 클래스를 서브 클래스로 분리하여 객체 생성 - 팩토리 메서드를 포함하는 추상 클래스를 정의 - 하위 클래스에서 인스턴스를 생성 singleton: 한 클래스에 한 객체만 존재하도록 제한 - 클래스 자체를 정적 변수 -..
2022.06.04