728x90

1장 요구사항 확인

1. 소프트웨어 생명주기(소프트웨어 수명 주기)

           ->소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 단계별로 나눈 것.

폭포수 모형 : 소프트웨어 공학에서 가장 폭넓게 사용되는 모델

프로토타입 모형 : 사용자의 요구사항을 정확히 파악하기 위해 최종 결과물을 예측하는 모형, 폭포수 모형의 단점을 보완.

나선형 모형 : 보헴(Bohem)이 제안. 나선을 돌듯이 점진적으로 완벽한 소프트웨어를 개발. 점진적 모형. 위험을 관리하고 최소화하는 것이 목적.

계획 및 정의 à 위험 분석 à 구현 및 개발 à→ 고객 평가 à 다시 계획 및 정의 à

애자일 모형 : 고객의 요구사항 변화에 유연하게 대응할 수 있는, 고객과의 소통에 초점을 맞춘 방법론

           스프린트(sprint) 또는 이터레이션(Iteration)이라 불리는 짧은 주기를 반복.

           ex) 스크럼(Scrum), XP(extreme programming), Lean, 크리스탈 등

 

2. 스크럼 기법

팀이 중심이 되어 개발의 효율성을 높이는 방법. 팀원 스스로가 팀을 구성, 개발도 스스로 해결해야 한다. 제품 책임자, 스크럼 마스터, 개발팀으로 나뉜다.

제품 책임자(PO; Product Owner) : 요구사항을 작성하는 주체, 백로그에 요구사항을 작성하고, 우선순위를 지정한다.

스크럼 마스터(Scrum Master) : 팀원에게 조언을 해주는 가이드 역할, 회의를 주관하여 진행사항 점검

개발팀 : 개발을 하는 주체

 

개발 프로세스

제품 백로그 à 스프린트 계획 회의 à 스프린트 à 일일 스크럼 회의 à 스프린트 검토 회의  à 스프린트 회고

제품 백로그 : 요구사항을 우선순위에 따라 나열한 목록, 지속적으로 업데이트, 릴리즈 계획 수립

스프린트 계획 회의 : 단기 일정을 수립. 요구사항을 태스크(Task)라는 작업 단위로 나눠, 수행할작업 목록인 스프린트 백로그를 작성한다.

스프린트 : 실제 개발 작업. 개발자가 원하는 태스크를 직접 선별하여 담당한다.

일일 스크럼 회의 : 매일 15분 정도 점검. 남은 작업 시간을 소멸차트에 표시.

3. XP기법

   고객의 참여와 개발 과정의 반복을 극대화.

개발 프로세스

 

사용자 스토리 : 고객의 요구사항을 시나리오로 표현

릴리즈 계획 수립 : 일정 수립

스파이크 : 별도로 만드는 프로그램, 처리할 문제만 작성

이터레이션 : 1~3주의 기간으로 진행되는 릴리즈. 새로 스토리가 작성되면, 지금이나 다음 이터레이션에 포함 가능

승인 검사(Acceptance Test, 인수 테스트) : 고객이 스토리에대해 직접 수행.

소규모 릴리즈 : 고객의 요구사항에 유연하게 대응 가능.

4. 현행 시스템 파악

절차 : 시스템 구성 파악 à 시스템 기능 파악 à 시스템 인터페이스 파악 à 아키텍처 파악 à 소프트웨어 파악 à 하드웨어 파악 à 네트워크 파악

 

5. 개발 기술 환경 파악

OS : 윈도우, 리눅스, 유닉스, Mac, IOS, 안드로이드

DBMS : Oracle, IBM DB2, Microsoft SQL Server, MySQL, SQLite, MongoDB, Redis

WAS : Tomcat, GlassFish, JBOss, Jetty, JEUS, Resin, WebLogic, WebSphere

 

6. 요구사항 정의

내용에 따라 기능, 비기능 요구사항

범위에 따라 시스템, 사용자 요구사항으로 나뉜다.

요구사항 개발 프로세스

(타당성 조사) à 도출(Elicitation) à 분석(Analysis) à 명세(Specification) à 확인(Validation) : EASV

 

7. 요구사항 분석 기법 : 요구사항 중 모호한 부분을 걸러내기 위함.

ex) 요구사항 분류, 개념 모델링, 요구사항 할당, 요구사항 협상, 정형 분석 등이 있다.

요구사항 분류 : 기준에 따라 요구사항을 분류 (기능/비기능, 영향 범위, 변경 가능성 여부 등)

개념 모델링 : 현실 세계의 상황을 단순화하여 표현하는 과정. 주로 UML을 사용한다.

요구사항 할당

요구사항 협상 : 요구사항이 충돌될 경우 기준점을 찾아 합의.

정형 분석(Formal Analysis) : 구문(Syntax)과 의미(Semantic)를 갖는 정형화된 언어를 이용해 요구사항을 수학적 기호로 표현, 분석.

 

8. 요구사항 확인 기법

ex)요구사항 검토, 프로토타이핑, 모델 검증, 인수테스트

인수 테스트 : 실제로 사용자가 사용될 환경에서 요구사항이 모두 충족되는지 사용자 입장에서 확인하는 과정.

 

9. UML

UML은 객체지향 모델링 언어이다. 구성요소로는 사물, 관계, 다이어그램 등이 있다.

사물 : 모델을 구성하는 기본 요소, 관계가 형성될 수 있는 대상을 뜻한다.

구조사물 : 클래스, 유즈케이스, 컴포넌트, 노드 등

행동사물 : 상호작용, 상태머신

그룹사물 : 패키지

주해사물 : 노트

관계

           연관관계 : à로 표현, 양방향인 경우 실선으로만 표현         사람 à

           집합관계 : 하나의 사물이 다른 사물에 포함되는 관계, 빈 마름모로 표현

           포함관계 : 서로 생명 주기를 함께하는 집합관계, 꽉찬 마름모로 표현

           일반화관계 : 빈 삼각형으로 표현

            의존관계 : 사물의 변화가 다른 사물에 영향을 주는 관계 (등급, 할인율), 점선 화살표-->

           실채화관계 : 기능으로 서로를 그룹화한 관계. 속이 빈 점선 화살표

                       비행기와 새를 둘다 날 수 있다는 기능으로 그룹화

다이어그램

           구조적 다이어그램 : 정적 모델링

                       클래스 다이어그램, 객체 다이어그램, 컴포넌트 다이어그램, 배치 다이어그램

                       복합체 구조 다이어그램, 패키지 다이어그램

           행위 다이어그램 : 동적 모델링

                       유즈케이스 다이어그램, 시퀀스 다이어그램, 커뮤니케이션 다이어그램

상태 다이어그램, 활동 다이어그램, 상호작용 개요 다이어그램, 타이밍 다이어그램

 

2장 화면 설계

10. 사용자 인터페이스(User Interface)

사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치, 소프트웨어

변경이 가장 많이 발생한다. 최소한의 노력으로 원하는 결과를 얻을 수 있다.

정보 제공자와 공급자 간의 매개 역할을 수행한다.

 

UI 구분

CLI(Command Line Interface) : 텍스트 형태의 인터페이스

GUI(Graphical User Interfcae) : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행

NUI(Natural User Interface) : 말이나 행동으로 조작.

 

UI 기본 원칙

직관성 : 누구나 쉽게 이해하고 사용 가능

유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 한다.

학습성 : 누구나 쉽게 배우고 익힐 수 있어야 한다.

유연성 : 요구사항을 최대한 수용하고 실수를 최소화해야 한다.

 

UI 설계 지침

사용자 중심, 일관성, 단순성, 결과 예측 가능, 가시성, 표준화, 접근성, 명확성, 오류 발생 해결

11. UI 표준 및 지침

UI 표준 : 모든 UI에 공통적으로 적용될 내용, 화면 구성이나 화면 이동 등

UI 지침 : UI 개발과정에서 꼭 지켜야할 조건, 제약사항

 

웹의 3요소

웹 표준, 웹 접근성, 웹 호환성

 

내비게이션 : 사용자가 사이트에서 원하는 정보를 빠르게 찾을 수 있도록 안내하는 것, 사용자 중심

 

12. UI 설계 도구

와이어프레임 : 기획 초기에 제작. 개략적인 레이아웃이나 UI 요소등 뼈대 설계 ex) 손그림, 파워포인트, 키노트

목업(Mockup) : 좀 더 실제화면과 유사하게 만든 정적 모형 ex) 파워 목업, 발사믹 목업

스토리보드 : 와이어프레임에 콘텐츠에대한 설명 , 페이지간 이동 흐름 등을 추가한 문서. 서비스 구축을 윟나 모든 정보가 있다. ex) 파워포인트, 키노트, 스케치, Axure

프로토타입 : 테스트가 가능한 동적인 형태의 모형 ex) HTML/CSS, Axure, Flinto

유즈케이스 : 사용자 측면에서 요구사항을 작성한 것.

 

13. UI 요구사항 확인

목표 정의 à 활동 사항 정의 à UI 요구사항 작성

목표 정의 : 인터뷰를 통해 요구사항을 정의한다. 인터뷰는 개별적으로, 한시간을 넘지 않게, 리서치를 시작하기 전에 한다.

활동 사항 정의 : 요구사항을 토대로 해야 할 활동을 정의한다.

UI 요구사항 작성 : 실 사용자 중심으로 작성한다. 작성 순서는

   요구사항 요소 확인 à 정황 시나리오 작성 à 요구사항 작성

정황 시나리오 : 사용자의 요구사항을 도출하기 위해 작성하는 것, 사용자가 목표를 달성하기 위해 수행하는 방법을 순차적으로 묘사한 것이다.

 

14. 품질 요구사항

ISO/IEC 9126 : 유지보수성, 효율성, 신뢰성, 사용성, 이식성, 기능성(유효신사이기)

 

15. UI 프로토타입 제작 및 검토

요구사항을 제대로 해석했는지 검증하기 위한 것으로 간단하게 만든다. 사전에 오류를 발견할 수 있다.

종류 : 페이퍼 프로토타입, 디지털 프로토타입

아키텍처가 확정된 이후와 프로젝트의 실제 분석 작업이 완료되기 이전에 진행한다.

 

16. UI 설계서 작성

UI 설계서 표지 작성 à UI 설계서 개정 이력 작성 à UI 요구사항 정의서 작성 à 시스템 구조 작성 à 사이트 맵 작성 à 프로세스 정의서 작성 à 화면 설계

 

17. 유용성 평가

유용성 : 사용자가 시스템을 통해 목표를 얼마나 효과적으로 달성하는가에 대한 척도

           사용자 모형과 개발자 모형 간의 차이를 최소화해야 한다.

실행차 : 사용자가 원하는 목적과 실행 기능이 다르기 때문에 발생

평가차 : 사용자가 원하는 목적과 실행 결과가 다르기 때문에 발생.

 

18. UI 상세 설계

UI 설계서를 바탕으로 실제 설계 및 구현을 위해 모든 화면에 대한 자세한 설계를 진행하는 단계. 시나리오를 작성해야 한다.

   UI 설계자 또는 인터랙션 디자이너가 UI 시나리오 문서를 작성하면 그래픽 디자이너가 시나리오를 바탕으로 디자인을 하고 개발자가 UI를 구현한다.

 

19 HCI / UX / 감성공학

HCI : Human Computer Interaction. 사람이 시스템을 보다 편리하고 안전하게 사용할 수 있도록 연구하고 개발하는 학문.

UX : User Experience. 사용자가 시스템이나 서비스를 이용하며 느끼고 생각하게 되는 총체적인 경험.

감성공학 : 제품이나 작업환경을 사용자의 감성에 맞도록 설계 및 제작하는 기술.

 

 

728x90

+ Recent posts