인터페이스(3)
-
C# 추상클래스와 인터페이스
추상 클래스 추상 클래스는 미완성된 클래스를 말하며, 추상 메서드나 추상 프로퍼티를 포함한다. 이 클래스 내에는 직접적인 구현을 하지 않으며, 오직 자식 클래스에서 상속을 통해서만 구현한다. public abstract class abstractclass { public string name; public int id { get; set; } public abstract void show(); // 추상 메서드 } public class normalclass : abstractclass { public override void show() { Console.WriteLine("."); } } abstractclass 에서는 추상클래스 이므로 메서드를 구현하지 못하고, 상속받은 자식 클래스에서 구현한다. ..
2021.01.26 -
4-1, 4-2 소프트웨어 설계 원리/응집도와 결합도
소프트웨어 설계 원리 분할 소프트웨어 설계 단계에서 요구사항을 분할하여 최대한 덜 복잡하게 만들어야 하며, 이를 통해 얻어진 결과는 독립성을 고려하여 재조합되어야 한다. 분할한 시스템 구성요소를 서브시스템이라 부르며, 시스템 설계자는 명확히 서브시스템을 나누어야 한다. 추상화 추상화는 흐름을 지키며 큰 그림을 그리는 과정이며, 세부적인 항목은 생략한다. 컴포넌트의 구현 방법은 생략하고 상호 작용에 중심을 두어 표현한다. 정보 은닉 각 모듈의 내부 내용을 감추고 인터페이스를 통해서만 메시지를 전달하자는 개념이다. 이러는 이유는 하부 시스템이 다른 모듈에 영향을 끼치거나, 독립성에 방해를 하기 때문이다. 단계적 정제 단계적 정제는 구조가 내려가며 구체화된다. 정제 과정에서 추상화 수준이 낮아지며 점점 세부적..
2021.01.18 -
3-1,2 소프트웨어 요구사항 분석과 모델링
요구사항의 분석 개요 요구사항은 프로젝트 범위와 규모를 정하는 가장 중요한 정보로써 프로젝트 전체 과정 동안 추적관리가 필요하다. 요구사항 분석 단계에선 무엇을 해야하는것에 초점이 맞춰줘 있다. 기능적 요구사항 : 목표를 만들기 위하여 요구되는 소프트웨어 기술 비기능적 요구사항 : 시스템의 품질 또는 특성을 정의하기 위한 요구사항 지속적 요구사항 : 조직의 핵심 활동 관련 안정된 요구사항으로 문제 영역을 모델로부터 유도 휘발성 요구사항 : 시스템의 개발 환경이나 사용자의 요구에 의해 변화하는 요구사항 요구사항 분석의 어려운점 다양한 도메인 지식이 부족하고 요구를 잘못 이해하면 충돌 또는 모호함이 발생한다. 개발 규모가 커지고 여러 명이 작업할수록 이러한 점은 더욱 중요하게 된다. 기능적 요구사항 및 비기..
2021.01.13