728x90

시나공정처기 20

★ 010 애플리케이션 설계[모듈]

1. 모듈(Module)의 개요 - 모듈화를 통해 분리된 시스템의 각 기능들을 모듈이라고함. 모듈은 단독으로 컴파일이 가능하기 때문에 재사용 가능. - 모듈화는 SW의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지관리 등이 용이하도록 시스템의 기능들을 모듈 단위로 분해하는 것을 의미 - 모듈의 독립성은 결합도와 응집도에 의해 측정. 독립성을 높이려면 모듈의 결합도는 약하게, 응집도는 강하게 모듈의 크기는 작게 만든다. 2. 결합도(Coupling) - 모듈간에 상호 의존 또는 모듈 사이의 연관관계 - 다양한 결합으로 모듈을 구성 할 수 있으나, 결합도와 품질은 반비례 관계 - 결합도가 강하면 품질이 낮고, 시스템 구현 및 유지보수 작업이 어려움 자료 결합도(Date Coupling) - 모듈간 인터..

정보처리기사 2020.05.31

★ 009 애플리케이션 설계[객체지향(Object-Oriented)]

1. 객체지향의 개요 - SW를 개발 할때 객체들을 조립해서 작성 할 수 있는 기법을 말함 - 객체지향 기법은 구조적 기법의 문제점으로 인한 SW 위기 해결책으로 사용 ※ 구조적 기법: 절차에 근간을 두고, 하나의 커다란 작업을 여러 작은 작업으로 분할하고, 분할된 각 소작업을 수행하는 모듈을 작성. 그 다음 하나로 통합해 최종 작업을 수행하는 하나의 완벽한 프로그램을 작성하는 방법. 단, 구조적 기법은 유지보수를 고려하지 않고 개발 공정에 집중하기 때문에 추가 요구사항을 반영하기 어렵고, 재사용이 어렵다는 문제점이 있음. - 객체지향은 SW의 재사용 및 확장이 용이하고, 고품질의 SW를 빠르게 개발 할 수 있고 유지보수가 쉽다. - 복잡한 구조를 단계적, 계층적으로 표현하고, 멀티미디어 데이터 및 병렬..

정보처리기사 2020.05.30

★ 008 애플리케이션 설계[아키텍처 패턴]

1. 아키텍처 패턴 개요 - 아키텍처를 설계할 때 참조 할 수 있는 전형적인 해결 방식 또는 예제. - 소프트웨어 시스템의 구조를 구성하기 위한 기본적인 윤곽을 제시 - 서브시스템과 그 역할이 정의되어 있으며, 서브시스템 사이의 관계와 여러 규칙/지침 등이 포함되어 있음 장점 - 개발 시간 단축, 고품질의 SW 생산 가능 - 검증된 구조로 개발되기 때문에 안정적 - 이해관계자들이 공통된 아키텍처를 공유하기 때문에 의사소통이 간편해짐 - 시스템 구조 파악이 쉬워지기 때문에 개발자가 유지보수하기에 용이함. - 시스템의 특성을 개발전에 예측 가능 2. 레이어 패턴(Layers pattern) - 시스템을 계층으로 구분하여 구성하는 방법 중 하나 - 각각의 서브시스템들이 계층 구조를 이루며, 상위 계층은 하위 ..

정보처리기사 2020.05.30

★ 007 애플리케이션 설계[SW 아키텍처]

1. SW 아키텍처의 설계 - SW의 뼈대가 되는 기본 구조이며, SW를 구성하는 요소들 간의 관계를 표현하는 시스템 구조 또는 구조체 - SW개발시 적용되는 원칙과 지침이며, 이해 관계자의 의사소통 도구로 활용 - 좋은 품질을 유지하면서 사용자의 기능적 요구사항을 구현하는 방법과, 비기능적 요구사항으로 나타낸 제약을 반영하는 과정 2. SW 아키텍처 설계의 기본 원리 1) 모듈화(Modularity) - SW의 성능을 향상시키거나 시스템 수정 및 재사용, 유지 관리 등의 작업이 용이하도록 시스템의 기능을 모듈 단위로 나누는 것을 의미 - 자주 사용되는 기능들을 공통 모듈로 구성하여 프로젝트의 재사용성을 향상시킴 - 모듈 크기가 너무 작으면 모듈 개수가 많아져 통합 비용이 많이 들고, 크게 나누면 모듈 ..

정보처리기사 2020.05.29

★ 006 화면 설계[UI프로토타입 제작 및 검토]

1. UI프로토 타입의 개요 - 프로토타입은 사용자 요구사항을 기반으로 실제 동작하는 것처럼 만든 동적인 형태의 모형으로 테스트가 가능 - 개발자가 사용자 요구사항을 맞게 해석했는지 검증하기 위한 것으로, 최대한 간단하게 만들며, 핵심 기능만을 제공해야함. - 사용자의 요구사항이 모두 반영될 때까지 프로토타입을 계속 개선 및 보완 - 실제 사용자를 대상으로 테스트하는 것이 좋음. 2. UI프로토타입의 장단점 장점 - 사용자를 설득 및 이해시키기 쉬움 - 요구사항과 기능의 불일치 등으로 인한 혼선 예방 - 사전에 오류를 발견하고 개발 시간을 줄일 수 있음 단점 - 모든 사용자 요구사항을 반영하기 위한 반복 개선 및 보완으로 인한 작업량 증가와 필요 이상의 자원 소모가 발생 될 수 있음 - 부분적 프로토타이..

정보처리기사 2020.05.29

★ 005 화면 설계[UI 설계 도구]

1. UI 설계도구 - 사용자의 요구사항에 맞게 UI의 화면 구조나 화면 배치 등을 설계 할 때 사용하는 도구. UI설계 도구로 작성된 결과물은 사용자의 요구사항이 구현되었을때, 화면은 어떻게 구성되고, 어떤 방식으로 수행되는지 등을 기획단계에서 미리 보여주기 위한 용도로 사용. 2. 와이어프레임(Wireframe) - 기획 단계의 초기에 제작하는 것으로, 페이지에 대한 개략적인 레이아웃이나 UI요소 등 뼈대를 설계하는 단계. - 와이어 프레임을 제작 할때는 각 페이지의 영역구분/콘텐츠/텍스트 배치 등을 화면 단위로 설계 - 개발자나 디자이너 등이 레이아웃을 협의하거나 현재 진행 상태 등을 공유하기 위한 용도로 와이어 프레임을 사용. ex) 손그림/ppt/키노트/스케치/일러스트/포토샵 등 3. 목업(Mo..

정보처리기사 2020.05.29

★ 004 화면 설계[사용자 인터페이스]

1. 사용자 인터페이스(UI, User Interface)의 개요 - 인터페이스는 사람이 기계나 프로그램을 편리하게 사용 할 수 있도록 하는 연결점으로서 서로 다른 두 시스템이나 SW 등을 서로 이어주는 부분 또는 접속 장치 - 초기의 사용자 인터페이스는 단순히 사용자와 컴퓨터간의 상호작용만을 위한 것이었지만, 점차 사용자가 수행할 작업을 구체화시키는 기능 위주로 변경되었으며, 최근에는 정보 내용을 전달하기 위한 표현 방법으로 변경 사용자 인터페이스의 세 가지 분야 1) 정보 제공과 전달을 위한 물리적 제어에 관한 분야 2) 콘텐츠의 상세적인 표현과 전체적인 구성에 관한 분야 3) 모든 사용자가 편리하고 간편하게 사용하도록 하는 기능에 관한 분야 2. 사용자 인터페이스(UI)의 특징 - 사용자의 만족에 ..

정보처리기사 2020.05.28

★ 003 소프트웨어 설계[XP(eXtreme Programming)기법]

※ 정보처리기사 필기 1) XP(eXtreme Programming) - XP는 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법 - 몇 개의 요구사항이 적용된 일부 기능이 완성될 때마다 이를 고객에게 보여주고, 이에 대한 반응을 확인하는 과정을 최종 제품이 완성될때까지 지속적으로 반복 특징 1) XP는 짧고 반복적인 개발 주기, 단순한 설계, 고객의 적극적인 참여를 통해 소프트웨어를 빠르게 개발하는 것을 목적으로 한다. 2) 릴리즈의 기간을 짧게 반복하면서 고객의 요구사항 반영에 대한 가시성을 높임. ※ 릴리즈(Release): 몇 개의 요구사항이 적용되어 부분적으로 기능이 완료된 제품을 제공하는 것 ※ 가시성(Visibi..

정보처리기사 2020.05.28

★ 002 소프트웨어 설계[스크럼(Scrum) 기법]

※ 정보처리기사 준비 1. 스크럼 개요 스크럼은 팀이 중심이 되어 개발의 효율성을 높인다는 의미가 담겨있는 용어 구성: 제품 책임자(PO:Product Owner) / 스크럼 마스터(SM:Scrum Master) / 개발팀(DT:Development) 1) 제품 책임자(PO:Product Owner) - 이해관계자 중 개발될 제품에 대한 이해도가 높고, 요구사항을 책임지고 의사 결정의 주체. 주로 개발 의뢰자나 사용자가 담당 ◎ 이해관계자: SW개발 의뢰자, SW개발자, SW사용자 등 - 이해관계자들의 의견을 종합하여 제품에 대한 요구사항이 담긴 백로그를 작성하는 주체 ◎ 백로그(Backlog): 제품 개발에 필요한 요구사항을 모두 모아 우선선위를 부여한 목록 - 팀원들은 백로그를 추가 할 수 있지만 우..

정보처리기사 2020.05.28

★ 001 소프트웨어 설계[소프트웨어 생명 주기]

[정보처리기사 복습] 1. 소프트웨어 생명주기(Software Life Cycle) - 소프트웨어 개발 방법론의 바탕이 되는 것으로 소프트웨어를 개발하기 위해 정의 및 운용, 유지보수 등의 과정을 단계별로 나눈 것 *소프트웨어 개발 방법론* : 소프트웨어 개발과 유지보수 등에 필요한 여러가지 작업들의 수행 방법과 효율적인 기법 및 도구를 체계적으로 정리하여 표준화한 것. - 소프트웨어 수명주기라고도 함. - 소프트웨어 생명주기를 표현하는 형태 -> 소프트웨어 생명주기 모형/소프트웨어 프로세스 모형/소프트웨어 공학 패러다임 - 폭포수 모형/프로토타입 모형/나선형 모형/애자일 모형 등 2. 폭포수 모형(Waterfall Model) - 소프트웨어 개발시 이전 단계로 돌아갈 수 없음. 각 단계를 확실하게 매듭..

정보처리기사 2020.05.20
728x90