| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 캐글
- CLIP
- dementional reduction
- 트랜스포머
- SQL
- 객체지향
- 힙정렬
- 소프트웨어 개발
- 데이터엔지니어
- UMAP
- 딥러닝
- RNN
- CNN
- RDBMS
- 에이전트
- 정보처리기사
- 랭그래프
- 알고리즘
- ASR
- LangGraph
- 생성형 인공지능
- 데이터 시각화
- 머신러닝
- python 기초
- 기초
- TTS
- 자연어처리
- Transformer
- python기초
- Python
Archives
- Today
- Total
수달이네 기술 블로그
1. 소프트웨어 설계(에자일, UI, 모델링)(정보처리기사 1일차) 본문
에자일
개발과 동시에 피드백을 수렴 > 개발자, 의뢰인이 함께 개발
특징
- 유동적.(변화에 유연)
- 빠른 속도.
- 절차X
애자일 방법론 유형
XP: 의사소통, 즉각적 피드백
- 5가지 가치: 용기. 단순성, 의사소통, 피드백, 존중
- 12가지 원리: 짝 프로그래밍(2인 1조), 공동 코드 소유(객체화), 지속적인 통합, 계획 세우기, 작은 릴리즈(모듈이 완성될때마다 릴리즈), 메타포어, 간단한 디자인, 테스트 기반 개발(개발중 테스트 반복), 리팩토링, 40시간 작업, 고객 상주, 코드 표준
스크럼: 정해진 시간, 장소, 짧은 시간 개발
- 주요 용어: 제품 책임자, 제품 백로그, 스프린트, 스크럼 미팅, 스크럼 마스터, 스프린트 회고, 번 다운 차트, 속도 등
린: JIT(Just In Time), 칸반보드 사용
분석 모델 확인
모델링 기법
모델: 객체/시스템/ 개념의 구조/작업을 시각적으로 표현한 패턴
- SW및 문제상황의 이해도향상
- 의사소통 향상
- 문제 도메인의 엔터티들과 관계/ 종속성을 가짐
모델링: 실세계 현상을 형식(그림)으로 표현
- 엔지니어들간의 공통된 개념 공유
- 모델링의 결과가 다른 모델링에 영향을 미침
- 유지보수, 분석, 설계, 구현 등 전반적으로 활용함
- 프로세스: 자료 흐름도, 구조적 방법론 > DFD/DD, 객체지향 방법론 > UML
CASE (분석 자동화 도구)
요구사항을 자동 분석함
- 품질 향상, 변경 관리, 유지보수, 기술적 기반
상위 CASE: 요구사항 분석, 설계, 계획 분석
하위 CASE: 코드레벨, 시스템 명세
기능
- 그래픽 지원
- SW생명주기 전 단계 연결
- 다양한 SW 개발 모형 지원
- 표준화된 개발환경 구축/문서 자동화
- 작업자 커뮤니케이션 증대
요구사항 관리 도구
- 필요성: 요구사항 변경에 따른 비용 편익, 변경 추적, 영향 평가
화면 설계(UI)
UI 요구사항 확인
사용자 ← UI → 시스템
UI 종류
- CLI(Commend Line Interface): CMD, Dos, Unix등 텍스트로 명령어를 입력하여 조작
- GUI(Graphic User Interface): 마우스, 전자펜등 이용
- NUI(Natural User Interface): 테블릿 등 터치반응
- OUI(Organic User Interface): 유기적 상호작용 기반
UI 특징
- 오류 최소화
- 작업기능 구체화
- 상호 작용
- 작업시간 감소(편의성)
- 피드백 제공
UI 설계 지침
- 사용자 중심
- 효율성
- 단순성
- 결과 예측 가능
- 가시성(주요기능 메인에)
- 표준화(일관적)
- 접근성
- 명확성
- 오류 발생 해결(사용자가 쉽게 오류를 인지)
UI 화면 설계
구성요소: 그리드, 버튼/ 컨트롤 요소, Page 요소, 팝업요소, Alert요소 등
제스처: 탭, 더블 탭, 프레스, 플릭, 스와이프, 팬, 드래그, 핀치, 로테이트 등
UI화면 설계 도구
- 와이어프레임: 화면단위의 레이아웃 설계
- 스토리보드: 정책, 프로세스, 콘텐츠 구성, 와이어프레임, 기능정의 데이터베이스 연동 등 서비스 구축에 필요한 정보가 담김
- 프로토타입: 와이어 프레임, 스토리 보드 등에 동적효과 적용
- 목업: 실제 화면과 유사하게 만든 정적 모형
어플리케이션 설계
공통 모듈 설계
재사용: 기존 SW를 활용하여 새로운 SW를 구축
- 함수와 객체(클래스 or 메서드 등)
- 컴포넌트
- 어플리케이션
공통 모듈
- 모듈: 독립된 SW/HW(서브 프로그램, 서브 루틴, 단위 프로그램, 작업 단위)
- 특징: 독립성(각 모델의 다른 기능), 다양한 조합, 재사용,(모듈간) 영향 최소화 등
- 원칙:정확성(실제 구현시 필요한지), 명확성(일관), 완전성(요구되는 것), 일관성(모듈간 영향 X), 추적성(공통 기능에 대한 관계)
- 모듈화: 시스템 분해, 추상화 = 모듈화 → 성능 향상, 재사용, 유지관리 용이
- 모듈크기↓ = 모듈개수↑ = 통합비용↑ = 모듈당 개발비용↓
- 모듈크기↑ = 모듈개수↓ = 통합비용↓ = 모듈당 개발비용↑
- 좋은 모듈 > 결합도 ↓ 응집도 ↑
- 결합도: 모듈간 상호 의존성
- 응집도: 모듈 내부 요소들의 관계성
🌟모듈화 유형
- 응집도(아래로 갈수록 응집도가 큼)
- 우연적 응집도: 관계 없음/예기치 않은 응집 논리적 응집도: 유사한 성격 형태 시간적 응집도: 특정 시간에 함께 처리해야할 활동을 하나로 모음 절차적 응집도: 모듈내 기능을 순차적으로 수행(가격계산 > 영수증 출력등 순서) 통신적 응집도: 동일한 입출력을 사용하여 다른 기능을 수행하는 활동이 모임 순차적 응집도: 모듈 내 한 활동에서 나온 출력값을 다른 활동이 사용 기능적 응집도: 모듈내 기능이 모두 단일한 목적으로 사용
- 결합도(아래로 갈수록 결합도가 작음)
- 내용 결합도: 모듈 내부의 기능, 변수를 다른 모듈에서 사용 공통 결합도: 전역변수 참조 외부 결합도 외부 데이터 포멧, 통신 등을 연결 제어 결합도: 다른 모듈이 제어신호를 보냄 스탬프 결합도: 배열, 객체, 구조가 전달 자료 결합도: 파라미터 등으로만 상호작용이 일어남.
팬인 - 상위모듈 / 팬아웃 - 하위모듈 즉,

해당 그림에서 C의 팬인은 1, 팬아웃은 2이다.
'공부 > 정보처리기사' 카테고리의 다른 글
| 2. 소프트웨어 개발(자료구조) (0) | 2026.05.05 |
|---|---|
| 1. 소프트웨어 설계(인터페이스) (1) | 2026.05.04 |
| 1. 소프트웨어 설계(객체지향, 디자인 패턴) (3) | 2026.05.01 |
| 1. 소프트웨어 설계(설계, 소프트웨어 아키텍처) (0) | 2026.04.30 |
| 1. 소프트웨어 설계(요구사항, UML)(정보처리기사 1일차) (1) | 2026.04.30 |