| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
| 31 |
- Git협업
- 파이썬 코테준비
- frontend
- JavaScript
- 파이썬코테함수정리
- Python3
- 앱사용자행동추적
- CSS
- 앱사용자추적
- kotlin
- 깃 충돌 해결방법
- 깃 꼬였을 때
- 앱에 팝업띄우기
- 깃협업
- 앱개발
- 코테준비
- 프론트엔드
- git방식
- 백엔드
- 코틀린
- env사용
- dev
- 환경변수사용
- 개발자
- 위키피디아검색창
- HTML
- 파이썬 코테 함수
- 앱개발기능추가
- It
- 깃 충돌시
- Today
- Total
zooooss
[정보처리기사] 요약 _ 1과목 소프트웨어설계 본문
[정보처리기사] 요약 _ 1과목 소프트웨어설계
zooooss 2023. 7. 4. 19:3001. 요구사항 확인
(1-1 : 현행 시스템 분석)
1-1-1 플랫폼 기능 분석
☁️ 플랫폼의 개념 : 애플리케이션 구동을 위해 필요한 소프트웨어 환경
☁️ 유형
싱글 사이드 플랫폼 : 소비자-공급자 연결 (ex. 아이튠즈/안드로이드 마켓)
투 사이드 플랫폼 : 두 그룹을 중개하고 모두에게 개방 (ex. 소개팅 앱)
멀티 사이드 플랫폼 : 다양한 이해관계 그룹을 연결하여 중개 (ex. 페이스북/인스타그램)
☁️ 기능
개발.운영 비용 감소
생산성 향상
네트워크 효과 유발
☁️ 절차
➊ 현행 플랫폼 자료 수집
➋ 수집 자료 분석
➌ 결과 산출물 작성
1-1-2 플랫폼 성능 특성 분석
☁️ 현행 플랫폼 성능 특성 분석 기법
*사용자 인터뷰 : 속도의 적정성 확인 ➳ 인터뷰 결과서 산출
*성능 테스트 : 성능, 부하 테스트 수행 ➳ 성능 테스트, 부하 테스트 결과서
*산출물 점검 : 유사한 타사 제품의 성능 자료 등 분석 ➳ 벤치마킹 테스트 결과서
☁️ 플랫폼 성능 특성 측정 항목
경과시간, 사용률, 응답시간, 가용성
1-1-3 운영체제 분석
☁️ 운영체제 개념 : 하드웨어 및 소프트웨어 자원을 효율적으로 관리하며 공통된 기능을 제공하는 소프트웨어
☁️ 운영체제 현행 시스템 분석
품질 측면 고려 ➳ 성능고려 : 대량 파일 작업(배치 작업 : 묶어서 일괄 처리)
지원 측면 고려
☁️ 운영체제 종류 및 특징
컴퓨터 - 윈도즈.유닉스.리눅스
모바일 - 안드로이드.ios
1-1-4 네트워크 분석
☁️ 네트워크 개념 : 컴퓨터 장치들이 노드 간 연결을 사용해 서로에게 데이터를 교환하는 기술
☁️ 네트워크 현행 시스템 분석
백본망, 라우터, 스위치, 게이트웨이, 방화벽 등을 대상으로 분석
1-1-5 DBMS 분석
☁️ DBMS의 기능
중복제어, 접근 통제, 인터페이스 제공, 관계 표현, 샤딩/파티셔닝, 무결성 제약조건, 백업 및 회복
☁️ DBMS 현행 시스템 분석
성능 측면 ➳ 가용성, 성능, 상호 호환성(JDBC, ODBC)
지원 측면 ➳ 기술 지원, 구축비용
1-1-6 비즈니스 융합 분석
☁️ 비즈니스 융합의 개념 : 산업 또는 시장 간 경계를 허물어 정보통신 기술을 적용해 새로운 비즈니스 모델로의 범위를 확대
☁️ 비즈니스 융합 유형
고객 가치(Why), 시장 유통(Whom), 가치 제안(What), 공급 역량(Who), 생산 방식(How)
생산 방식(How)의 사례로는 스마트 팩토리, 옴니채널
☁️ 절차
➊ 기업전략 분석
➋ 영역 및 방향 설정
➌ 포트폴리오 선정
➍ 융합모델 설계/평가
➎ 비즈니스 융합 실행/개선
(1-2 : 요구사항 확인)
1-2-1 요구분석 기법
☁️ 특징 : 구체적인 명세를 위해 소단위 명세서가 활용될 수 있다.
☁️ 요구사항 분석 단계 절차
➊ 요구사항 분류 ➳ 요구사항 유형 확인 ➳ 기능 요구사항(기능적 속성에 대한)/비기능 요구사항(성능, 보안, 품질 등에 대한)
➋ 개념 모델링 생성 및 분석
➌ 요구사항 할당
➍ 요구사항 협상
➎ 정형 분석
☁️ 요구사항 분석 기술
청취 기술, 인터뷰와 질문 기술, 분석 기술, 중재 기술, 관찰 기술, 작성 기술, 조직 기술, 모델 작성 기술
☁️ 요구사항 분석에 사용하는 모델링 기법
➊ 데이터 흐름도(DFD)
개념 : 데이터가 각 프로세스를 따라 흐르면서 변환되는 모습을 나타낸 그림
특징 : 구조적 분석 기법에 이용됨, 시간 흐름 명확히 표현 불가, 제어의 흐름은 중요치 않음
구성요소
-처리기 Process(원으로 표기)
-데이터 흐름 Data Flow(화살표로 표기)
-데이터 저장소 Data Store(=로 표기)
-단말 Terminator(사각형으로 표기)
➋ 자료 사전(DD)
기호
= : ~으로 구성되어 있다
+ : 자료의 연결을 나타냄
() : 자료 생략 가능함을 나타냄
{} : 자료의 반복을 나타냄
[] : 자료의 선택을 나타냄
** : 자료의 설명을 나타내는 기호, 주석
☁️ 요구사항 분석이 어려운 이유
지식이나 표현의 차이가 커서 상호 이해가 쉽지 않음
개발 과정 중에 요구사항이 변할 수 있음
사용자의 요구사항이 모호하고 불명확
1-2-2 UML(Unified Modeling Language)
☁️ 개념 : 명세화, 시각화, 문서화할 때 사용되는 모델링 기술을 통합하여 만든 모델링 언어
☁️ 특징 : 가시화 언어/구축 언어/명세화 언어/문서화 언어
☁️ UML 구성요소
사물, 관계, 다이어그램으로 구성됨
☁️ UML 다이어그램
사물과 관계를 모아 그림으로 표현한 형태
구조적(정적) 다이어그램과 행위적(동적) 다이어그램으로 구분
구조적(정적) 다이어그램은 클래스/객체/컴포넌트/배치/복합체 구조/패키지
행위적(동적) 다이어그램은 유스케이스/시퀀스/커뮤니케이션/상태/활동/타이밍
☁️ UML 상세
➊ 클래스 다이어그램 : 클래스와 클래스, 즉 클래스 속성 사이의 관계를 표현
클래스 이름, 속성, 연산, 접근 제어자로 구성
➋ 유스케이스 다이어그램
유스케이스, 액터, 시스템으로 구성
연관 관계/포함 관계/확장 관계/일반화 관계
➌ 시퀀스 다이어그램(순차 다이어그램)
객
☁️ UML의 관계
☁️ UML 확장 모델의 *스테레오 타입
1-2-3 *애자일(Agile)
☁️ 애자일 방법론의 개념
☁️ 등장 배경
☁️ 특징
☁️ 선언문
☁️ 애자일 방법론 유형
☁️ 애자일과 전통적 방법론 비교
(1-3 : 분석 모델 확인)
1-3-1 모델링 기법
☁️ 모델 개념
☁️ 모델 특징
☁️ 모델링 개념
☁️ 모델링 특징
1-3-2 분석 자동화 도구
☁️ 개념
☁️ 특징
☁️ 분석 자동화 도구의 분류
☁️ 주요 기능(CASE 도구)
1-3-3 요구사항 관리 도구
☁️ 개념
☁️ 필요성
02. 화면 설계
(2-1 : UI 요구사항 확인)
2-1-1 UI 개요
☁️ UI 개념
☁️ 유형
☁️ 특징
☁️ 설계 원칙
☁️ 설계 지침
☁️ UI 시스템의 필요 기능
2-1-2 UI 표준
☁️ 개념
☁️ 구성
☁️ 화면 구성요소
☁️ 패턴 모델
2-1-3 UI 지침
☁️ 개념
2-1-4 스토리보드
☁️ 스토리보드 개념
☁️ UI 화면 설계 구분
(2-2 : UI 설계)
2-2-1 UI 설계 프로세스 및 UI 흐름 설계
2-2-2 감성 공학
2-2-3 UI 설계 도구
03. 애플리케이션 설계
(3-1 : 공통 모듈 설계)
3-1-1 재사용
3-1-2 공통 모듈
3-1-3 설계 모델링
3-1-4 소프트웨어 아키텍처
(3-2 : 객체 지향 설계)
3-2-1 객체 지향
3-2-2 디자인 패턴
04. 인터페이스 설계
(4-1 : 인터페이스 요구사항 확인)
4-1-1 내.외부 인터페이스 요구사항
4-1-2 요구공학
(4-2 : 인터페이스 대상 식별)
4-2-1 시스템 아키텍처
4-2-2 인터페이스 시스템
(4-3 : 인터페이스 상세 설계)
4-3-1 내.외부 송.수신
4-3-2 데이터 명세화
4-3-3 미들웨어 솔루션