TOPCIT(39)
-
8. 프로그래밍 언어 특성 & 코드 재사용과 리팩토링
프로그래밍 언어의 특성 인터프리터 언어 인터프리터는 중간과정 없이 원시 프로그램을 직접 저급 언어로 바꾸면서 동시해 실행한다. 기계어 번역을 기다리지 않고 필요시 마다 실행해서 빠르지만, 디코딩 처리 시간이 따로 존재한다. 컴파일러 언어 기계어로 번역하여 객체 모듈을 만들고, 이 모듈을 링크/로드 하여 실행한다. 재사용 프로그램일경우 재실행하여 단축시킬 수 있지만 기계어 변환 시간이 좀 걸린다. 코드 재사용 및 리팩토링 개념 1. 재사용 적용 시 고려사항 - 재사용 기반의 소프트웨어 개발 프로세스 - 재사용성 향상을 위한 교육, 품질 향상 - 지속적인 라이브러리 보강 2. 리팩토링 개요 및 정의 코드 리팩토링은 전보다 코드를 더 보기 쉽게 만드는 것이다. 3. 리팩토링 시점및 수행 절차 일반적으로 리팩토..
2021.01.26 -
7. 사용자 인터페이스 설계 원리
UI 설계 개념과 원리 인터페이스란 두물체 사이에 서로 접촉하는 부분을 말한다. 상호 작용이 잘 이루어지도록 하는 장치 혹은 소프트웨어를 말하며, 소프트웨어의 창과 같다. 인터페이스 설계는 다음과 같은 점에 중점을 두어 진행되어야 한다. 일관성 필요 사용자 인터페이스는 일관성있게 만들어야 사람들에게 혼란을 야기시키지 않는다. 사용자 중심 설계 일단 쓰는 사람이 편하여하고, 입출력을 편하게 할 수 있도록 해야한다 피드백 사용자가 잘못된 연산을 수행하거나 버튼을 잘못눌렀을때 뭐가 잘못되었는지 정확히 전달해야한다 파괴적인 행동에 대한 확인 사용자가 중요한 파일을 지우려는 등 치명적인 작업을 시도할때 충분한 경고가 있어야 하며 되돌리기도 있어야한다. HCI (Human-Computer Interaction) 사..
2021.01.25 -
5. 소프트웨어 아키텍처 설계
소프트웨어 아키텍처 설계는 요구사항 분석, 아키텍처 분석 및 설계, 아키텍처 검증 및 승인 절차로 진행된다. 아키텍처 유형 저장소 구조 한 서브시스템에서 데이터를 만들고 다른 서브시스템들이 데이터를 사용하는 경우 모든 공유 데이터를 한 곳에 저장하여 모든 서브시스템이 공유하는 구조이다. MVC 구조 GUI설계에 많이 활용되는 프레임워크로 한 객체의 여러 가지 표현이 서로 상호작용 하도록 지원하는 접근법으로 한 객체의 표현이 수정되면 다른 모든 표현도 따라 갱신된다. 클라이언트 - 서버 모델 서비스를 요구하는 클라이언트와 서비스를 제공하는 서버로 구성되어 있으며 분산 시스템으로 구현되어 네트워크 시스템을 효과적으로 이용할 수 있다 계층 구조 시스템을 여러 계층으로 구성하여, 각 계층이 다른 서비스를 제공하..
2021.01.20 -
4-3 구조적 설계 기법
구조적 설계는 요구사항 명세서를 설계 문서로 바꾸는 데 필요한 가이드라인을 제시한다. 분석에서 설계로 이동하며 요구사항 명세서에 나타나 있는 특성을 이용하여 설계 문서를 만든다. 변환 흐름 중심 설계 변환 흐름 중심은 시스템을 입력, 변환, 출력 시스템으로 나눈다. 자료 흐름 중심의 프로그램 구조를 만들고, 최상위 모듈에 입력 모듈, 변환 모듈, 출력 모듈을 하위 모듈로 둔다. 각각 모듈은 일을 수행하고 최상위 모듈에 전달하며 마지막 출력 모듈이 최상위 모듈의 값을 반환한다. 트랜잭션 흐름 중심 설계 트랙잭션흐름에 의한 설계는 입력을 여러 갈래의 출력으로 쪼갤 수 있는 경우에 가능하다. 트랜잭션 흐름은 세 가지 구성요소로 이루어져 있다. - 트랜잭션 중심으로 작용하는 모듈 - 입력을 받아들이는 모듈 - ..
2021.01.19 -
4-1, 4-2 소프트웨어 설계 원리/응집도와 결합도
소프트웨어 설계 원리 분할 소프트웨어 설계 단계에서 요구사항을 분할하여 최대한 덜 복잡하게 만들어야 하며, 이를 통해 얻어진 결과는 독립성을 고려하여 재조합되어야 한다. 분할한 시스템 구성요소를 서브시스템이라 부르며, 시스템 설계자는 명확히 서브시스템을 나누어야 한다. 추상화 추상화는 흐름을 지키며 큰 그림을 그리는 과정이며, 세부적인 항목은 생략한다. 컴포넌트의 구현 방법은 생략하고 상호 작용에 중심을 두어 표현한다. 정보 은닉 각 모듈의 내부 내용을 감추고 인터페이스를 통해서만 메시지를 전달하자는 개념이다. 이러는 이유는 하부 시스템이 다른 모듈에 영향을 끼치거나, 독립성에 방해를 하기 때문이다. 단계적 정제 단계적 정제는 구조가 내려가며 구체화된다. 정제 과정에서 추상화 수준이 낮아지며 점점 세부적..
2021.01.18 -
3-3, 3-4, 3-5 구조적 분석 기법/객체지향 분석/요구사항 명세화
구조적 분석 기법 구조적 분석 기법은 기능 관점에서 처리 위주로 모델링하는 대표적인 방법이다. 자료 흐름도 (Data Flow Diagram) 외부 객체 : 시스템 외부에서 시스템과 정보를 주고받는 사용자 등 외부 객체 프로세스 : 시스템 안에서 정보를 처리하고 변환시킨다. 데이터 항목 : 프로세스 사이의 정보 흐름을 표시한다. 자료 저장소 : 저장소로 주로 데이터베이스를 표현한다. 소단위 명세 소단위 명세서는 분할이 완료된 자료 흐름도의 프로세스가 어떤 기능을 수행하는지 기술하는 것이다. 더 이상 쪼개지지 않는 최하위 프로세스를 설명한다. 자료 사전 자료 사전은 자료 흐름도에 나타난 데이터 정보를 모아놓음으로써 개발자나 사용자들이 편리하게 사용할 수 있도록 한다. 객체지향 분석 객체지향은 주어진 문제를..
2021.01.14