Section 20. 소프트웨어 아키텍처 소프트웨어 아키텍처는 소프트웨어의 골격이 되는 기본 구조이자, 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체이다. 비기능적 요구사항으로 나타난 제약을 반영하고, 기능적 요구사항을 구현하는 방법을 찾는 해결 과정 * 기능적 요구사항 : 시스템이 갖춰야할 필수적인 기능에 대한 요구항목 비기능적 요구사항 : 그 외의 품질이나 제약사항에 관한 것 설계 기본 원리 : 모듈화, 추상화, 단계적 분해, 정보은닉 1. 모듈화 소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 시스템의 기능들을 모듈 단위로 나누는 것 * 모듈 : 전체 프로그램의 기능 중에서 특정 기능을 처리할 수 있는 소스 코드 2. 추상화(Abs..
Section 10. 사용자 인터페이스 1. 사용자 인터페이스(UI)란? 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어 정보 제공과 전달을 위한 물리적 제어에 관한 분야 콘텐츠의 상세적인 표현과 전체적인 구성에 관한 분야 모든 사용자가 편리하고 간편하게 사용하도록 하는 기능에 관한 분야 * 인터페이스 : 서로 다른 두 시스템이나 소프트웨어 등을 서로 이어주는 부분 또는 접속 장치 사용자 인터페이스를 설계하기 위해서는 소프트웨어 아키텍처를 반드시 숙지해야 한다. * 소프트웨어 아키텍처 : 개발할 소프트웨어의 기본 틀을 만드는 것 (밑그림) / 논리적 구성 / 비기능적 요구사항 2. 사용자 인터페이스의 구분 CLI(Command Line Interface) : 명령과 출력이 ..
Section 121. 개발 환경 구축 1. 하드웨어 환경 - 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버 사용자와의 인터페이스 역할을 하는 클라이언트 (pc,스마트폰 등) 그리고 클라이언트와 통신하는 서비스를 제공하는 서버로 구성 웹 서버 : 클라이언트로부터 직접 요청을 받아 처리하는 서버로, 저용량의 정적 파일들을 제공 웹 애플리케이션 서버(WAS) : 사용자에게 동적 서비스를 제공하기 위해 웹 서버로부터 요청을 받아 데이터 가공 작업을 수행하거나 웹 서버와 데이터베이스 서버 또는 웹 서버와 파일 서버 사이에서 인터페이스 역할을 수행하는 서버 데이터베이스 서버 : 데이터베이스와 이를 관리하는 DBMS를 운영하는 서버 파일 서버 : 데이터베이스에 저장하기에는 비효율적이거나, 서비스 ..