정보처리,전산/소프트웨어공학(3)
-
결합도와 응집도
결합도와 응집도는 모듈 간의 관계와 모듈 내부의 요소 간 관계를 설명하며, 시스템의 유지보수성과 성능에 큰 영향을 미친다.모듈 (Module):모듈은 시스템의 기능을 독립적으로 분리하여 소프트웨어 성능 향상과 재사용을 용이하게 한다.독립성이 높을수록 수정 시 다른 모듈에 영향을 미치지 않으며, 오류를 쉽게 발견하고 수정할 수 있다.결합도 (Coupling):결합도는 모듈 간의 의존성을 의미한다. 결합도가 약할수록 모듈 간 의존성이 적고 독립적이다.결합도는 약할수록 좋다.결합도 종류:자료 결합도 (Data Coupling): 모듈 간 인터페이스가 자료 요소로만 구성될 때.스탬프 결합도 (Stamp Coupling): 배열이나 레코드 등의 자료 구조가 전달될 때.제어 결합도 (Control Coupling)..
2025.01.22 -
소프트웨어 생명 주기 (Software Life Cycle)
소프트웨어 생명 주기는 소프트웨어를 개발하기 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나누어 개발 단계와 각 단계별 주요 활동 그리고 활동의 결과에 대한 산출물로 표현하여 소프트웨어를 계획, 설계, 개발, 테스트, 유지보수하는 과정을 체계적으로 관리하고 개선하기 위해 사용된다. 1. 폭포수 모형 (Waterfall Model) 각 단계가 순차적으로 진행되며, 이전 단계로 돌아갈 수 없다. 폭포수 모형은 이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론이다. 가장 오래되고 가장 폭넓게 사용된 전통적인 소프트웨어 생명 주기 모형이며 적용 경험과 성공 사례가 많지만 요구사항 변경에 유연하게..
2024.06.03 -
객체지향 SOLID
객체지향 프로그래밍에서 SOLID는 소프트웨어 설계 원칙의 다섯 가지 기본 원칙을 의미한다. 이 원칙들은 소프트웨어를 더욱 견고하고 유연하게 만들어준다. 각 원칙은 다음과 같이 설명된다: 1. 단일 책임 원칙 (Single Responsibility Principle, SRP): 하나의 클래스는 단 하나의 책임만 가져야 한다. 클래스가 여러 책임을 가지게 되면 변경이 발생했을 때 다른 책임에 영향을 미치게 될 수 있으며, 이는 유지보수성을 저하시킨다. - SRP 위배 코드 하나의 메서드가 주문 항목들의 총 가격을 계산하고 동시에 송장을 생성하려고 시도하고 있다. class Order: def calculate_total_and_generate_invoice(self, order_items): # 주문 항..
2024.04.10