본문 바로가기

전체 글

(125)
[CS BASIC] 모듈(Module) 모듈(Module)이란? 전체 프로그램에서 어떠한 기능을 수행할 수 있는 실행 코드를 의미 자체적으로 컴파일 가능, 다른 프로그램에서 재사용 가능 시스템 개발 시 기관고 노동력을 절감할 수 있다. 모듈의 독립성은 결합도와 응집도에 의해 측정된다. 서브루틴 = 서브 시스템 = 작업 단위 변수의 선언을 효율적으로 할 수 있어 기억 장치를 유용하게 사용할 수 있다. 모듈마다 사용할 변수를 정의하지 않고 상속하여 사용할 수 있다. 각 모듈의 기능이 서로 다른 모듈과의 과도한 상호작용을 회피함으로서 이루어지는 것을 기능적 독립성이라고 한다. 여러 기능 및 프로그램에서 공통으로 사용할 수 있는 모듈(예-날짜 처리를 위한 유틸리티 모듈 등) 결합도 서로다른 두 모듈간의 상호 의존도로서 두 모듈간의 기능적인 연광 정도..
[CS BASIC] 사용자 인터페이스(UI, User Interface)의 설계 사용자 인터페이스(UI, User Interface)의 설계 단계 ① 문제 정의 : 시스템의 목적과 해결해야할 문제를 정의한다. ② 사용자 모델 정의 : 사용자 특성을 결정하고, 소프트웨 작업 지식 정도에 따라 초보자, 중급자, 숙련자로 구분한다. ③ 작업 분석 : 사용자의 특징을 세분화하고 수행되어야 할 작업을 정의한다. ④ 컴퓨터 오브젝트 및 기능 정의 : 작업 분석을 통하여 어떤 사용자 인터페이스에 표현할지를 정의한다. ⑤ 사용자 인터페이스 정의 : 모니터, 마우스, 키보드, 터치스크린 등 물리적 입-출력 장치 등 상호작용을 위한 오브젝트를 통해 시스템 상태를 명확히 한다. ⑥ 디자인 평가 : 사용자 능력, 지식에 적합한가? 사용자가 사용하기 편리한가? 등의 평가를 의미하며, 사용성 공학을 통하여 ..
[CS BASIC] 사용자 인터페이스(UI, User Interface)와 표준 및 지침 사용자 인터페이스(UI, UserInterface)란? 사람(사용자)과 사물 또는 시스템, 기계, 컴퓨터 프로그램 등 사이에서 의사소통을 할 수 있도록 일시적 또는 영구적인 접근을 목적으로 만들어진 물리적, 가상적 매개체를 뜻한다. 인간과 컴퓨터 사이의 상호작용(HCI)에 필요한 화상, 문자, 소리, 수단을 의미 사용자 인터페이스는 사람들이 컴퓨터와 상호 작용하는 시스템이다. 사용자 인터페이스는 물리적인 하드웨어와 논리적인 소프트웨어 요소를 포함한다. 사용자 인터페이스는 크게 다음과 같은 수단을 사용한다. ① 입력 : 사용자가 시스템을 조작할 수 있게 한다. ② 출력 : 시스템이 사용자가 이용한 것에 대한 결과를 표시한다. ③ 삭제 : 시스템이 사용자가 잘못 조작한 것을 삭제한다. 사용자 인터페이스를 판..
[CS BASIC] UI(User Interface) 표준을 위한 환경 분석 사용자 경향 분석 기존/현존 UI 트렌드를 숙지하고 현재 UI의 장단점을 작성한다. 사용자의 요구사항을 파악하고 쉽게 이해 간으한 기능 위주로 기술 영역을 정의한다. 기능 및 설계 분석 ① 기능 조작성 분석 사용자 편의를 위한 조작에 관한 분석을 확인한다. ex) 스크롤 바 지원 가능 여부, 마우스 조작 시 동선 확인 ② 오류방지 분석 조작 시 오류에 대해 예상 가능한지 확인한다. ex) 의도치 않는 페이지 이동, 기능 버튼의 명확한 구분 가능한지 확인, 기능 버튼 이름이 사용자의 조작과 일치하는지 등 ③ 최소한의 조작으로 업무 처리 가능한 형태 분석 작업 흐름에 가장 적합한 레이아웃인지 확인 ex) 기능 특성에 맞는 UI 확인 및 및 조작 단계 최소화와 동선 단순 여부 확인 ④ UI의 정보 전달력 확인..
[CS BASIC] 현행 시스템 분석 현행 시스템 분석이란? 현행 시스템이 어떤 하위 시스템으로 구성되어 있는지 파악하는 절차 현행 시스템의 제공 기능과 타 시스템과의 정보 교환 분석을 파악 현행 시스템의 기술 요소와 소프트웨어 하드웨어를 파악 *목적 : 개발시스템의 개발범위를 확인하고, 이행 방향성을 설정. 현행 시스템 파악 절차 1단계 : 시스템 구성 파악 → 시스템 기능 파악 → 시스템 인터페이스 현황 파악 2단계 : 아키텍처 파악 → 소프트웨어 구성 파 악 3단계 : 시스템 하드웨어 현황 파악 → 네트워크 구성 파악 시스템 아키텍처 시스템 내 상위 시스템과 하위 시스템들이 어떠한 관계로 상호작용하는지 각각의 동작 원리와 구성을 표현한 것 단위 업무 시스템 별로 아키텍처가 다른 경우 핵심 기간 업무 처리 시스템을 기준으로 한다. 시스템..
[CS BASIC] 소프트웨어 개발 방법론 소프트웨어 생명주기(Software Life Cycle) 소프트웨어 제품 개념 형성에서 시작하여 운용/유지보수에 이르기까지의 변화의 모든 과정을 의미 타당성 검토 → 개발 계획 → 요구사항 분석 → 설계 → 구현 → 테스트 → 운용 → 유지보수 폭포수 모형(Waterfall Model) 선형 순차적 모델이라고도 하며 Bohem이 제시한 고전적 생명주기 모형으로, 소프트웨어 개발 과정의 각 단계가 순차적으로 진행되는 모형이다. 나선형 모형(SpiralModel) Bohem이 제시하였으며, 반복적인 작업을 수행하는 점증적 생명주기 모형이다. 점증적 모형, 집중적 모형이라고도 하며 유지보수 과정이 필요 없다. 소프트웨어 개발 중 발생할 수 있는 위험을 관리하고 최소화하는 것이 목적이다. 나선을 따라서 돌아가면..
[Android] 안드로이드와 컴포넌트 (안드로이드를 구성하는 원소들) 안드로이드와 컴포넌트 안드로이드 앱 개발의 핵심은 컴포넌트입니다. 안드로이드에서 동작하는 프로그램을 보통 APP 또는 어플리케이션이라고 칭합니다. 이러한 안드로이드 앱은 컴포넌트로 구성되어 있는데, 안드로이드 앱은 다음의 4가지 컴포넌트로 구성되어 있습니다. 1. 액티비티(Activity) 안드로이드의 화면 표시(뷰 바인딩 등)를 전적으로 담당하는 컴포넌트입니다. 앱 화면을 리소스 파일과 바인딩하여 사용자에게 상호작용 가능한 인터페이스를 구성하는 역할을 합니다. 액티비티 컴포넌트는 안드로이드 시스템에서 자동으로 생명주기를 관리해 줍니다. 따라서 개발자는 별도로 생명주기를 관리하지 않아도 안드로이드 시스템에서 기본적으로 생명주기를 관리해줍니다. 2. 서비스(Service) 화면이 없는 것이 가장 큰 특징인..
[CS BASIC] 소프트웨어와 소프트웨어 공학 소프트웨어(Software)란? - 컴퓨터를 동작시키고 어떤 일의 처리 순서와 방법을 지시하는 명령어의 집합인 프로그램과 프로그램 수행에 필요한 절차, 규칙, 관련 문서를 총칭하는 것 소프트웨어 관련 용어 프로그램(Programme) : 컴퓨터를 동작시키고 어떤 일의 처리 순서와 방법을 지시하는 명령어의 집합 자료 구조(Data Structure) : 컴퓨터 기억 장치 내에 자료의 표현, 처리, 저장 방법 등을 총칭하는 것으로, 데이터 간의 논리적 관계나 처리에 대한 알고리즘을 의미 문서(Paper) : 소프트웨어를 개발함에 있어서 사용자 설명서, 소프트웨어 요구사항 명세서, 평가서, 프로젝트 계획서 등을 포함 소프트웨어의 특징 ① 상품성 : 소프트웨어를 개발하면 상품이 되어 판매가 용이 ② 복잡성 : ..