정보처리기사 1과목 소프트웨어 설계 A,B

🔥 소프트웨어 요리법 => 모델, 모형

🗨 A. 요구사항 확인

📌 4가지의 모델

소프트웨어 생명주기

📌 폭포수 모델

  • 각 단계를 확실히 마무리 해야 한다.

  • 반드시 메뉴얼이 필요

  • 그래서 프로토 타입이 필요 ( 프로토 타입 : 시제품 , 견본 )

📌 프로토 타입 모델

  • 프로토 타입은 마감을 무시하고 빠른 개발을 위해 기능만 구현
    ( 인터페이스 중심 개발 )

📌 나선형 (스파이럴) 모델

  • 계획 - 분석 - 개발 - 평가의 반복

  • 대규모에 유리

  • 여러번의 개발 과정

  • 완성도

  • 점진적 개발 , 유지보수 불필요

  • 위험관리 최소화

📌 애자일 모델

  • 절차와 문서보다는 상호작용과 소통

📌 스크럼 ( Scrum )

🔥 제품 책임자

  • 의사결정권 있는 사람

🔥 스크럼 마스터

  • 개발팀 지원 조율

🔥 개발팀

  • 디자이너 + 테스터까지

🔥 Backlog

  • 스토리 형식으로 기록. => 우선순위는 오직 제품 책임자에 의해서만 변경 가능

🔥 Sprint

  • 우선순위가 정해지면 세부 개발목표와 시간을 할당받는 것

🔥

  • 각각의 backlog에 대한 개별 backlog = sprint backlog

  • 소멸차트를 통해 분석

  • 검토회의 = 제품책임자 주도

📌 XP (eXtreme Programming)

  • 고객과의 소통을 극도로 끌어올렸다

  • 개발 주기를 짧게 만들어서 고객의 적극적인 참여를 유도
    = 가시성이 향상된다.

  • 주로 소규모 개발에 사용 ( 개발비용 때문에 )

  • 피존용단소 🎯 주요가치
    = 피드백 존중 용기 단순 의사소통

  • 요구사항 = 스토리

  • 릴리즈 = 프로그램을 배포하는 단위 1.0 2.0 2.1 등등..

📌 spike

  • 전체 기능과 상관 없이 오로지 특정 기능 하나에 대한 테스트를 하기 위해 작성되는 프로그램

  • spike가 제대로 완성됐다면 iteration이 진행

📌 이터레이션

  • 1~2주의 시간으로 완성 가능한 기능을 모아서 고객이 직접 평가할 수 있도록 프로그램을 만드는 과정

  • 이터레이션이 완성되면 고객은 평가를 진행

  • 이터레이션이 완료되면 릴리즈를 진행

📌 시스템 파악

🔥 구기인 아소 하네

🔥 구: 구성 파악 . 업무 시스템의 구성을 파악 ( 주요 업무 파악 )

  • 기간업무 , 지원업무

🔥 기 : 기능 파악 . ( 세부적인 업무 파악 )

  • 세부적인 것은 양이 많아 지기에 계층형으로 표시

🔥 인 : 인터페이스 파악

  • protocol 파악

🔥 아 : 아키텍쳐 파악

  • 계층적으로 나타남

🔥 소 : 소프트웨어 구성 파악

  • 용도, 라이센스 적용방식, 라이센스 개수 등

🔥 하 : 하드웨어 구성 파악

  • 수량, 이중화 ( 백업 ) 적용 여부 파악

🔥 네 : 네트워크 구성 파악

  • 물리적 위치

📌 개발 기술 환경 파악

🔥 OS

🔥 DBMS ( 데이터 베이스 관리 시스템 )

  • 종속성, 중복성 해결

이름은 학번에 종속적 - 이름은 학번 없이 구분 불가

  • DB에 대한 모든 권한을 가짐

🔥 WAS ( 웹 어플리케이션 서버 )

  • 동적 컨텐츠 처리를 위한 미들웨어

🔥 고려사항

  • 가용성, 성능, 기술지원, 오픈소스, 비용

📌 요구사항 정의 분석 확인

🔥 요구사항 = 원하는 서비스에 대한 설명과 제약조건

기능 - 비기능 - 사용자 - 시스템 존재

요구사항 4단계 프로세스를 거친다.

  • 도출 - 분석 - 명세 - 확인

🧿 도출 : 요구사항 도출. 의사소통 필요

🧿 분석 : 요구사항의 타당성 확보. 요구사항을 특정 기준으로 분류.

  • 요구사항을 단순화하여 개념적으로 표현한다. 객체간의 관계와 종속성을 분석한다 => 🔥 모델링

  • 모델링을 주로 표현할 때 UML을 사용한다.

  • 우선순위를 두면 충돌에 많은 도움이 된다.

  • 정형분석 ( 마지막 단계 )

수학적 분석 => 마무리 됐다

  • 분석 끝나면 🧿 명세

  • 마지막 🧿 확인

검토자 그룹 등에는 고객 대표등이 꼭 포함돼있어야 한다.

  • 프로토 타입 => 지속적으로 프로토타입 작성

프로토타입에만 집중될 수 있다는 단점이 존재

  • 모델검증 : 요구사항 충족 검증

🔥 정적분석 : 실행 x 논리적인 검증

📌 UML

원활한 의사소통을 위해 표준화 된 모델링 언어

  • 6개의 구조 다이어그램, 7개의 행위 다이어그램

🔥 사물 diagram

사물 = 특정 대상을 의미

  • 단어의 뜻 정도만 가볍게 알기

🔥 관계 diagram

🧿 실선 = 연관관계

  • 서로 연관돼 있을 경우 화살표 생략하고 다중도

다중도 = 특정 숫자와 2개의 기호로 많은 표현

* = 다수 || .. = 또는

  • 자동차는 바퀴 소유, 바퀴는 자동차 소유 불가

상속의 반대로 표시한다고 생각

  • 아내와 남편은 서로 소유

🧿 점선 = 의존관계

의존 - 연관 구분 : 관계가 일시적인가?

사은품은 일시적인 것

🧿 일반화관계

실선

🧿 실체화관계

점선

  • 실선은 평생 , 점선은 필요에 의해 생기는 일시적

🧿 집합과 포함

  • 하지만 포함관계가 아니라 집합 ! 마우스를 다른 컴퓨터에도 사용할 수 있기 때문 => 🔥 빈 마른모

  • 땔래야 땔 수 없는 1대1 대응 관계 => 🔥 찬 마른모

🗨 B. 화면 설계

📌 사용자 인터페이스

사용자와 시스템은 서로 정보를 주고 받는데, 이걸 처리하는 방식이 서로 다르기 때문에 차이를 해석해 줄 장치가 필요. 여기에 적용되는 장치나 소프트웨어 = interface

  • 각 사용자와 시스템간의 매개체 기능을 하는 모든 것 = 인터페이스

3가지로 나뉠 수 있다.

🔥 구성, 기능 , 제어

  • 소프트웨어 아키텍쳐를 반드시 숙지하고 있어야 한다.

🧿 인터페이스 4가지 규칙

  • 유연성 , 직관성, 학습성 , 유효성

🧿 사용자 중심 설계

📌 UI 표준 및 지침

  • 표준 = 공통적으로 적용되는 것

  • 지침 = 꼭 지켜야 하는 것

🔥 웹 표준

  • 표준을 지키면 접근성이 엄청나게 향상

누구나 동등하게 이용가능하게

  • 크로스 브라우징

어떤 브라우저에서든 접근 가능

🔥 접근성 지침

🧿 인식(대체)

  • 예상 가능하게

🧿 운영(포인팅)

  • 쉽게

🧿 이해(논리적)

  • 납득

🧿 견고함

🔥 네비게이션

  • 이러한 표준 지침들을 적용하여 만들어지는 수 많은 요소들 = 네비게이션

🔥 정부서비스

  • 누구나 평등하게 정보를 습득하게. 핵심 = 접근성

🧿 문법준수

보편적인 것

🧿 비표준 지양

🧿 호환성

📌 UI 설계 도구

🔥 wireframe

  • 화면 단위로 대략적인 레이아웃을 구성하는 단계

🔥 Mockup

  • 실제 화면과 유사한 형태로 만듦

🔥 Story Board

  • 와이어 프레임 + 콘텐츠에 대한 설명과 콘텐츠의 이동경로를 정적으로 나타낸다

  • 정적이다 = 실제로 움직이지는 않는다.

🔥 Use case

  • 사용자의 요구사항을 다이어그램 형식으로 완성하고, 완성된 다이어그램에 대한 각각의 명세서를 작성

📌 UI 요구사항 확인

🔥 목표정의

  • 개별로 인터뷰를 진행하여 사업적, 기술적 요구사항을 이해

🔥 활동사항 협의

  • 목표 이해

  • 예산 분배

  • 계획

  • 우선순위

🔥 정리 요소

  • 🧿데이터 요소를 가장 먼저 정리해야 한다. 소프트웨어 시스템의 기반이 되기 때문. 각각의 개체간의 특성을 기반으로 정리

  • 기능정리 => 🧿동사형으로 정리

  • 품질

  • 제약 ( 데드라인 )

🔥 정황 시나리오 작성

  • 6하 원칙, 이야기

🔥 요구사항 작성

📌 품질 요구사항

  • 품질 = 요구사항

  • 국제 표준 지침 = ISO/IEC 9126

🔥 기능

  • 호환 + 보완

🔥 신뢰

  • 고장이 나도 사용할 수 있어야 한다.

🔥 사용

  • 쓰기 편해야 한다

🔥 효율 / 🔥 유지보수 / 🔥 이식

📌 UI 프로토타입 제작 및 검토

🔥 프로토타입

  • 실제로 동작할 수 있는 동적인 모델

  • 필수기능을 포함. 최대한 간단하게

🔥 계획

🔥 작성

🔥 UI 제작단계

  • 분석, 작성, 검증, 승인

  • 테스트의 주체 = 사용자

  • 테스트 및 피드백 - 수정 승인은 계속 반복될 수가 있다

📌 UI 설계서 작성

🔥 설계서 작성 7 단계

🧿 개정이력

1.0을 시작으로 0.1을 증가시킴

🧿 요구사항 정의서

각 요구사항의 반영 여부도 같이 기록

🧿 시스템 구조

사용자의 요구사항이 UI 시스템에 어떻게 적용되는지

🧿 사이트 맵

시스템 구조를 바탕으로 콘텐츠를 메뉴별로 설계

🧿 프로세스 정의서

어떻게 진행되는지 작업 진행 순서위주로 정리

🧿 화면 설계

각 UI 화면 별로 표지와 스토리보드로 구분해서 설계

📌 UI 유용성 평가 / 상세설계 / 감성공학

UI가 들어가면 무조건 사용자 중심

🔥 UI 유용성 평가

🧿 실행차이 (기능)

불필요한 기능 등

🧿 결과차이 (평가)

이해하기 어려운 결과

🔥 상세설계

시나리오 작성

🔥 감성공학

🧿 HCI ( Human Computer Interaction)

사용자가 최적의 사용자 경험(UX)이 목표

🧿 UX = User eXperience

시스템을 이용하면서 얻게 되는 경험을 통칭

  • UX <--> UI (객관적 지표가 존재) 반대개념

  • 감성공학과 UX의 단어 선택이 살짝 다르다.

📌 출처

본 강좌는 주간컴공채널의 정보처리 기사 영상을 정리한 내용입니다.

https://www.youtube.com/c/%EC%A3%BC%EA%B0%84%EC%BB%B4%EA%B3%B5/playlists

좋은 웹페이지 즐겨찾기