전체 글 129

[1과목 소프트웨어 설계] 인터페이스 설계 - 030. 인터페이스 요구사항 검증

인터페이스 설계 및 구현 전에 요구사항 명세서에 정확하고 완전하게 기술되었는지 검토, 베이스라인 설정인터페이스 수정할 경우 많은 비용이 소요되므로 검증 중요요구사항 검토 계획 수립 → 검토 및 오류 수정 → 베이스라인 설정 1. 인터페이스 요구사항 검토 계획 수립검토 기준 및 방법참여자체크 리스트관련 자료일정 2.크리스트 항목에 따라 요구사항 명세서 검토오류 발견 시, 오류를 수정할 수 있도록 오류 목록과 시정 조치서 작성검토 결과를 검토 관련자에게 전달시정조치 완료 후 인터페이스 요구사항 검토 작업을 완료 3. 인터페이스 요구사항 베이스라인 설정소프트웨어 설계 및 구형을 위해 베이스라인 설정베이스라인 설정 후 인터페이스 요구사항 변경은 공식적인 변경 통제 절차로만 가능 4. ⭐ 요구사항 검증 방법1) ..

[1과목 소프트웨어 설계] 인터페이스 설계 - 029. 시스템 인터페이스 요구사항 분석

1. 시스템 인터페이스 요구사항 구성시스템 인터페이스독립적으로 떨어져 있는 시스템끼리 서로 연동하여 상호작용하기 위한 접속방법이나 규칙요구사항 명세서 구성인터페이스 이름연계 대상 시스템연계 범위 및 내용송신 데이터연계 방식인터페이스 주기기타 고려사항 2. 시스템 인터페이스 요구사항 분석소프트웨어 요구사항 분석 기법을 적절히 이용요구사항 분해 시 적절한 수준으로 세분화요구사항 분석 누락 시 누락된 요구사항이나 제한조건 추가상대적 중요도를 평가하여 우선순위 부여 3. 시스템 인터페이스 요구사항 분석 절차시스템 인터페이스 요구사항 목록 구성시스템 인터페이스 요구사항과 관련된 자료 준비 (요구사항 및 아키텍처 정의서, 현행 시스템의 대 · 내외 연계 시스템 현황 자료)기능적 요구사항, 비기능적 요구사항 분류목록..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 028. ⭐ 디자인 패턴

모듈의 세분화된 역할이나 모듈 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결방법 또는 예제문제 및 배경, 실제 적용된 사례, 재사용이 가능한 샘플코드 등으로 구성개발 과정 중에 문제가 발생하면 새로 해결책을 구상하는 것보다 문제에 해당하는 디자인 패턴을 참고해 적용하는 것이 더 효율적한 패턴을 변형하거나 특정 요구사항을 반영하면 유사한 형태의 다른 패턴으로 변화되는 특징 존재GoF(Gang of Four) : 생성패턴 5개, 구조패턴 7개, 행위패턴 11개💡 아키텍처 패턴 VS 디자인 패턴아키텍처 패턴은 디자인 패턴보다 상위 수준 설계아키텍처 패턴 : 전체 시스템 구조를 설계다자인 패턴 : 서브 시스템에 속하는 컴포넌트들과 관계를 설계디자인..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 027. ⭐ 코드

컴퓨터를 이용해 자료를 처리하는 과정에서 분류, 조합 및 집계를 용이하게 하고, 특정자료의 추출을 쉽게하기 위해 사용하는 기호정보를 신속, 정확, 명료하게 전달일정한 규칙에 따라 작성정보 처리의 효율과 처리된 정보의 가치에 많은 영향💡 코드의 주요기능식별 기능 : 데이터 간의 성격에 따라 구분 가능분류 기능 : 특정 기준이나 동일한 유형에 해당하는 데이터를 그룹화배열 기능 : 의미를 부여하여 나열표준화 기능 : 다양한 데이터를 기준에 맞추어 표현간소화 기능 : 복잡한 데이터를 간소화 1. 코드 종류순차 코드 (Sequence Code) = 일련번호 코드자료 발생 순서, 크기 순서 등 일정 기준에 따라 최초 자료부터 차례로 일련번호를 부여하는 방법1,2,3,4 ...블록 코드 (Block Code) = ..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 026. ⭐ 공통 모듈

여러 프로그램에서 공통적으로 사용할 수 있는 모듈자주 사용되는 계산식, 사용자 인증과 같은 기능들재사용성 확보, 중복 개발 회피를 위해 설계과정에서 공통부분을 식별하고 명세를 작성할 필요가 있음💡 공통 모듈 명세기법정확성(Correctness) : 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성명확성(Clarity) : 중의적으로 해적되지 않도록 명확하게 작성완전성(Completeness) : 모든 것을 기술일관성(Consistency) : 공통 기능들 간 상호 충돌이 발생하지 않도록 작성추적성(Traceability) : 요구사항 출처, 관련 시스템 들의 관계를 파악할 수 있도록 작성 1. 재사용 (Reuse)비용과 개발 시간을 절약하기 위해 이미 개발된 기능 파악, 재구성 하여 새로운 시스템..

[Java] Singleton pattern

1. Runtime MemoryMethodstatic상수 ⇒ Unique한 값프로그램 ㅌ코드Class → 실행 시, Stack → new 연산자를 통해 Instance가 됨.StackFunctionHeapInstance2. Singleton Pattern클래스 하나 당 하나의 Instance를 만든다.재사용단점사용하지 않으면 GC가 처리할 수 있다.3. staticInstance 생성없이 필드와 메소드를 생성하고자 할 때 활용필드와 메소드를 객체마다 다르게 가져야 한다면 인스턴스로 생성공통 변수, 인스턴스 필드를 포함하지 않는 메소드를 선언하고자 할 때 사용객체없이 바로 사용 가능public class PlusClass{ static int field1 = 15; static int plusMetho..

Language/Java 2024.05.29

[Java] ⭐JVM내부구조 & 메모리 영역

1. JVM의 동작 방식자바 애플리케이션을 클래스 로더를 통해 읽어 자바 API와 함께 실행1) 자바 프로그램을 실행하면 JVM은 OS로부터 메모리를 할당 받는다. 2) 자바 컴파일러(javac)가 자바 소스코드(.java)를 자바 Byte Code(.class)로 컴파일 한다. 3) Class Loader는 동적 로딩을 통해 필요한 클래스들을 로딩 및 링크 하여Runtime Data Area(실질적인 메모리를 할당 받아 관리하는 영역)에 올린다. 4) Runtime Data Area에 로딩 된 Byte Code는 Execution Engine을 통해 해석된다. 5) 이 과정에서Execution Engine에 의해Garbage Collector의 작동과Thread 동기화가 이루어진다. 2. JVM 구조C..

Language/Java 2024.05.29

[1과목 소프트웨어 설계] 애플리케이션 설계 - 025. ⭐ 모듈 (Module)

분리됨 시스텝의 기능들서브루틴, 서브시스템, 작업 단위 등 같은 의미로 사용단독으로 컴파일 가능, 재사용 가능각 모듈은 서로 독립됨하나의 기능만을 수행하고 다른 모듈과의 과도한 상호작용 배체독립성이 높을수록 수정 시, 다른 모듈에게 거의 영향이 미치지 않으며, 오류가 발생해도 쉽게 발견하고 해결 가능독립성 = 결합도↓ + 응집도↑ + 모듈의 크기 작게 1. 결합도 (Coupling)모듈 간에 상호 의존하는 정도 / 모듈 간의 연관관계결합도가 약할수록 품질이 높고, 강할수록 품직이 낮음결합도가 강하면 시스템 구현 및 유지보수 작업이 어려움1) 자료 결합도 (Data Coupling)모듈 간 인터페이스가 자료 요소로만 구성될 때모듈이 다른 모듈을 호출하면서 매개변수로 데이터를 넘겨주고, 결과를 다시 돌려주는..

[Java] ⭐ JDK & JRE & JVM

※ Java 프로그램을 개발 → JDK / Java 프로그램 실행 → JRE1. JDK (Java Development Kit)자바로 개발하는데 사용되는 SDKSDK (Software Development Kit)하드웨어 플랫폼, 운영체제 또는 프로그래밍 언어 제작사가 제공하는 툴ex) 안드로이드 스튜디오자바 개발 시 필요한 라이브러리, javac, javadoc 등 개발도구들이 포함버전 표기Java SE (Java Standard Edition)가장 기본적인 클래스 패키지PC에 설치해 사용할 수 있는 모든 프로그램 개발PC용 어플리케이션, 애플릿개발, 응용 프로그램 개발, 웹개발, 안드로이드 개발Java EE (Java Enterprise Edition)대규모 기업용 데이션, SE 확장판기업환경을 위한..

Language/Java 2024.05.28