study
소프트웨어 아키텍쳐 모델 유형
1. 계층형 모델 (Layered Model) : 소프트웨어 시스템을 여러 계층으로 구성하여 설계하는 모델이다. 각 계층은 특정한 기능을 수행하고 상위계층은 하위계층에 의존한다. 이 모델은 시스템의 구조를 단계적으로 추상화하여 모듈화 하고 계층형 모델은 일반적으로 다음과 같은 계층으로 구성된다. Presentation Layer(프레젠테이션 계층) : 사용자와 시스템 간의 상호작용을 처리하는 계층이다. UI와 관련된 로직이 위치하며 사용자로부터 입력을 받아 처리한다. Business Layer(비즈니스 계층) : 비즈니스 로직을 수행하는 계층이다. 데이터의 처리와 계산, 유효성 검사 등 비즈니스 도메인에 특화된 기능을 담당한다. 이 계층의 경우 사용자의 요청에 대한 비즈니스 규칙을 구현하고 데이터베이스나..
Model, Sheet, Component, Cell Object
1. 모델(Model) : 데이터를 나타내고 처리하하는 역할을 담당하는 객체. 일반적으로 비즈니스 로직이나 데이터 조작을 담당하며 데이터의 유효성 검사, 저장, 로드 등의 작업을 수행한다. 2. 시트(Sheet) : 스프레드 시트 형식의 데이터를 나타내는 객체. 일반적으로 열과 행으로 구성된 표 형식의 데이터를 다루며 데이터의 저장, 탐색, 정렬 등을 수행한다. 3. 셀(Cell) : 데이터 형식의 데이터에서 하나의 단위를 나타내는 객체. 행과 열의 교차점에 위치하며 데이터 값을 가진다. 4. 컴포넌트(Component) : 애플리케이션에서 재사용 가능한 모듈이나 부분을 나타내는 객체. 일반적으로 UI나 기능적인 모듈 구성에 사용한다. 이는 독립적으로 동작하며 재사용성과 모듈화를 통해 유지보수성과 확장성..
클래스와 객체
객체(Object) : 객체는 데이터와 그 데이터를 처리하는 메서드(함수)의 집합으로 구성된다. Class의 인스턴스로 클래스는 객체 생성의 템플릿 역할을 한다. 객체는 속성과 동작을 가지며 속성은 객체의 상태, 동작은 객체가 수행하는 작업을 의미한다. 상태와 동작을 캡슐화하여 데이터와 관련 메서드를 함께 묶어서 표현하여 데이터와 해당 데이터를 처리하는 동작이 서로 연관되어있는 구조를 가진다. 이는 모듈화, 재사용성, 유지보수성에서의 장점을 가진다. 클래스(Class) : 객체 지향 프로그래밍에서 객체를 생성하기 위한 템플릿이나 설계도 역할이다. 클래스는 객체의 속성과 동작을 정의하는 맴버 변수와 메서드를 포함한다. 멤버변수는 객체가 가지는 데이터를 저장하며 메서드는 객체의 동작을 수행하며 데이터를 처리..
UI 종류
1. TUI (Text-based User Interface) 문자 기반의 사용자 인터페이스로, 텍스트를 사용하여 정보를 표시하고 입력을 받는 형태이다. TUI는 CLI와 유사하지만, CLI보다 좀 더 사용자 친화적인 인터페이스를 제공한다. 텍스트 기반의 메뉴, 명령어, 프롬프트 등을 사용하여 사용자와 상호작용이다. TUI는 CLI보다 시각적인 피드백을 더 많이 제공하며, 명령어나 메뉴 선택을 도와주는 기능을 포함할 수 있다. 2. AUI (Auditory User Interface) 소리와 음성을 사용하여 사용자와 컴퓨터 간의 상호작용을 담당하는 인터페이스이다. 음성 명령을 인식하고 음성으로 응답하는 음성 인식 기술을 기반으로 작동한다. AUI는 음성 안내, 음성 검색, 음성 제어 등을 통해 사용자에게..
GOF(Gang of Four) 디자인 패턴
GOF(Gang of Four) 디자인 패턴 : 소프트웨어의 개발에서 반복적인 문제의 발생을 해결하기 위해 사용되는 일련의 디자인 솔루션이다. 23가지 패턴으로 구성되어있으며 크게 생성, 구조, 행위로 나뉘게 된다. 1. 생성 추상 팩토리 (Abstract Factory): 서로 관련이 있는 객체들을 생성하기 위한 인터페이스를 제공하는 패턴이다. 구체적인 클래스의 인스턴스화를 숨기고, 클라이언트 코드에서는 인터페이스를 통해 객체를 생성한다. 관련성이 있는 객체들의 일관성 있는 생성을 보장하고, 객체들 간의 결합도를 낮출 수 있다. 팩토리 메서드 (Factory Method): 객체를 생성하는 인터페이스를 정의하고, 하위 클래스가 어떤 클래스의 인스턴스를 생성할지 결정하도록 하는 패턴이다. 객체 생성에 대..
User Interface(UI) 설계지침
User Interface(UI) 설계 지침 일관성 유지 : 사용자는 일관된 인터페이스로 예측 가능한 경험을 할 수 있어야 한다. 일관된 레이아웃, 색상, 아이콘, 버튼 등으로 쉽게 익숙해지도록 한다. 단순성과 명확성 : 인터페이스는 간단하며 명확해야한다. 불필요한 요소를 배제하고 직관적인 아이콘과 텍스트를 사용하여야 한다. 사용자 중심 설계 : 사용자의 요구와 행동을 이해하고 사용자의 관점에서 설계해야 한다. 가시성과 피드백 : 사용자가 현제 가능한 작업을 쉽게 파악할 수 있어야 하며 적절한 시각적 피드백과 에러메시지, 진행상태등의 표현을 통해 어떠한 일이 일어나는지 이해하도록 도움을 주어야한다. 네비게이션 및 정보구조 : 인터페이스 내에서 적절한 네비게이션과 정보구조를 제공하여 사용자가 쉽게 원하는 ..
정보공학 개발 방법론, Entity-Relationship Diagram(ERD)
1. 정보공학 개발 방법론 기업의 전체나 부분을 기술들을 상호 연관성 있게 통합하여 적용하는 데이터 중심 방법론. 일관성있고 통일성 있는 정보시스템이 구축 가능하며 장기적으로 진화와 발전을 허용하다. 또한 데이터 중심이므로 업무 절차와 환경 변화에 유연하다는 장점이 있다. 다만 정보공학 효과를 보기 위해서는 장기간이 필요하다. 또한 소규모 자동화 요구 사업영역에서 오래 걸리며 독립된 시스템 개발에는 부적합하다. 특징으로는 다음과 같은 것들이 있다. 기업중심 : 적용 대상은 기업의 비즈니스시템이다. ISP 중심 : 정보공학 4단계중 첫 단계. 경영층의 요구를 반영한다. 기업의 경쟁 우위 달성에 있어 중요하다. 데이터 중심 : 변화하는 업무프로세스와 달리 데이터는 변화가 거의 없어 유지보수를 줄이고 적극 대..