반응형

1 현행 시스템 분석

1 플랫폼 기능 분석

1 플랫폼의 개념

애플리케이션을 구동시키는데 필요한 하드웨어 + 소프트웨어, 동일 플랫폼 내에서는 상호 호환이 가능하도록 만들어진 결합체

공급자와 수요자 등의 복수 그룹이 참여하여 각 그룹이 얻고자 하는 가치를 공정한 거래를 통해 교환할 수 있도록 구축된 환경

2 플랫폼의 유형

싱글 사이드 플랫폼 제휴 관계를 통해 소비자와 공급자 연결 아이튠즈, 안드로이드 마켓
투 사이드 플랫폼 두 그룹을 중개하고 모두에게 개방 소개팅 앱
멀티 사이드 플랫폼 다양한 이해관계 그룹을 연결하여 중개 페이스북, 인스타그램

3 플랫폼의 기능

비용 감소, 생산성 향상

커뮤니티 형성, 네트워크 효과 유발

* 네트워크 효과 : 수요에 따라 다른 사람들에게 영향을 미치는 현상

4 플랫폼 기능 분석 절차

  1. 현행 플랫폼 자료 수집
  2. 수집 자료 분석
  3. 결과 산출물 작성

2 플랫폼 성능 특성 분석

1 이유

사용자의 서비스 이용 시 속도의 적정성을 알 수 있다.

2 기법

  • 사용자 인터뷰 : 인터뷰 결과서
  • 성능 테스트 : 테스트 결과서
  • 산출물 점검 : 벤치마킹 테스트 결과서

3 운영체제 분석

1 운영체제 개념

하드웨어 및 소프트웨어 자원을 효율적으로 관리하며 공통된 기능을 제공하는 소프트웨어

2 운영체제 현행 시스템 분석

품질 측면

  • 신뢰도 : 장애 발생 가능성, 재기동 여부
  • 성능 : 파일 작업 처리, 지원 가능한 메모리 크기

* 배치 작업 : 작업들을 하나의 작업 단위로 묶어 일괄 처리 cf ) 실시간 작업

지원 측면

  • 기술 지원 : 오픈 소스 여부
  • 주변 기기 : 하드웨어
  • 구축 비용 : 하드웨어 비용, 라이선스 정책 및 비용, 유지/관리 비용

3 운영체제 종류 및 특징

PC

  • Windows : 중/소규모 서버, 관리 비용 장점
  • UNIX : 대용량 처리, 안정성 높은 엔터프라이즈급 서버
  • Linux : 중/대규모 서버 대상, 높은 보안성

모바일

  • Android : 다양한 기기의 호환성
  • iOS : 높은 보안성과 고성능

4 네트워크 분석

1 개념

컴퓨터 장치들이 노드 간 연결을 사용하여 서로 데이터를 교환하는 기술

2 OSI 7계층

5. 세션 계층 (Session Layer)연결 접속, 동기제어SSH, TLS데이터

7. 응용 계층 (Application Layer) 사용자와 네트워크 간 응용서비스 연결, 데이터 생성 HTTP, FTP 데이터
6. 표현 계층 (Presentation Layer) 데이터 형식 설정, 부호교환, 암/복호화 JPEG, MPEG 데이터
4. 전송 계층 (Transport Layer) 신뢰성 있는 통신 보장, 데이터 분할, 재조립, 흐름 제어, 오류 제어, 혼잡 제어 TCP, UDP 세그먼트
3. 네트워크 계층 (Network Layer) 단말기 간 데이터 전송을 위한 최적화된 경로 제공 IP, ICMP 패킷
2. 데이터링크 계층 (Data Link Layer) 인접 시스템 간 데이터 전송, 전송 오류 제어, 동기화, 오류 제어, 흐름 제어, 오류검출 / 재전송 이더넷 프레임
1. 물리 계층 (Physical Layer) 0과 1의 비트정보를 회선에 보내기 위한 전기적 신호 변환 RS-232C 비트

3 네트워크 현행 시스템 분석

네트워크 구성도를 통해 분석

네트워크 구성도의 작성을 통해 서버 위치, 서버 간 연결 방식 파악 가능

물리적 위치 관계 파악, 보안 취약성 분석 및 대응에 유리

대상 : 백본망, 라우터, 스위치, 게이트웨이, 방화벽, ...

  • 백본망 : 네트워크를 상호 연결하는 컴퓨터 네트워크의 일부
  • 라우터 : 3계층 데이터 패킷을 발신지에서 목적지까지 전달하기 위해 최적의 경로를 지정하고, 전달
  • 스위치 : 2계층 장치, 돌일 네트워크 내에서 출발지에 들어온 데이터 프레임을 목적지 MAC 주소로 빠르게 전달
  • 게이트웨이 : 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간 통신
  • 방화벽 : 보안 시스템

5 DBMS 분석

1 개념

DB를 생성하고, 저장 및 관리할 수 있는 기능을 제공하는 응용 프로그램

2 기능

  • 중복 제거 : 동일한 데이터가 여러 위치에 중복 저장되는 현상 방지
  • 접근 통제 : 권한에 따라 데이터에 대한 접근 제어
  • 인터페이스 제공 : 사용자에게 다양한 인터페이스 제공(CLI, GUI, ...)
  • 관계 표현 : 서로 다른 데이터 간의 다양한 관계 표현
  • 샤딩/파티셔닝 : 구조 최적화를 위해 작은 단위로 나누는 기능
  • 무결성 제약 조건 : 무결성에 관한 제약 조건 정의 및 검사
  • 백업 및 회복 : 데이터베이스 장애 발생 시 데이터의 보존 기능

3 데이터베이스 현행 시스템 분석

성능 측면

  • 가용성 : 장애 발생 가능성, 백업 및 복구 편의성, DBMS 이중화 및 복제 지원
  • 성능 : 대규모 데이터 처리 성능, 대량 거래 처리 성능, 튜닝 옵션 지원 여부, 최적화 지원 및 설정 최소화
  • 상호 호환성 : 설치 가능한 OS 종류, 다양한 OS에서 지원되는 JDBC, ODBC

* JDBC(Java Database Connectivity) : 자바에서 DB를 사용할 수 있도록 연결해주는 응용 프로그램 인터페이스

* ODBC(Open Database Connectivity) : DB를 액세스 하기 위한 표준 개방형 응용 프로그램 인터페이스

지원 측면

  • 기술 지원 : 오픈 소스 여부
  • 구축 비용 : 라이선스 정책 및 비용, 유지/관리 비용

6 비즈니스 융합 분석

1 개념

융합을 통해 새로운 비즈니스 모델로 범위를 확대하는 것

2 유형

  • 고객 가치(Why) : 개인, 사회, 인류의 행복과 번영을 위한 가치 창출
  • 시장 유통(Whom) : 신시장 개척 또는 미래시장 선점
  • 가치 제안(What) : 시장/고객의 욕구 대응, 신상품 개발
  • 공급 역량(Who) : 신기술, 신규 역량을 활용한 상품 생산 및 판매
  • 생산 방식(How) : 제품/서비스의 생산, 판매 프로세스 혁신

3 절차

  1. 기업전략 분석
  2. 영역 및 방향 설정
  3. 포트폴리오 선정
  4. 융합모델 설계/평가
  5. 비즈니스 융합 실행/개선

2 요구사항 확인

1 요구분석

1 개념

요구사항 간 상출 해결, 소프트웨어 범위 파악 -> 외부환경과의 상호작용 분석

2 기법

  • 요구사항 분류 : 기능/비기능 구분, 소프트웨어에 미치는 영향 범위 파악, 소프트웨어 생명주기 중 변경 발생 여부
  • 개념 모델링 : 문제 도메인의 엔터티들과 개별 관계 및 종속성 반영, Usecase 다이어그램 사용 多
  • 요구사항 할당 : 요구사항을 만족시키기 위한 아키텍처 구성요소 식별, 추가 요구사항 발견 가능
  • 요구사항 협상 : 상충되는 요구 합의
  • 정형 분석 : 표현

2 UML(Unified Modeling Language)

1 개념

객체지향 소프트웨어 개발과정에서 모델링 기술과 방법론을 통합하여 만든 표준화된 범용 모델링 언어

2 특징

  • 가시화 언어 : 오류 少, 의사소통 용이
  • 구축 언어 : 실행 시스템에 대한 시각적 예측
  • 명세화 언어 : 정확한 모델 제시, 완전한 모델 작성 가능
  • 문서화 언어 : 시스템에 대한 평가 및 의사소통의 문서

3 구성요소

  • 사물 : 추상적인 개념, 주제 (명사, 동사)
  • 관계 : 사물의 의미를 확장하고 명확히 하는 요소, 사물과 사물을 연결하여 표현 (형용사, 부사)
  • 다이어그램 : 사물과 관계를 그림으로 표현

4 다이어그램

요구사항

  • Usecase : 사용자 관점에서 시스템의 활동을 표현, 기능적 요구 정의

정적 모델링

  • 클래스 : 속성과 동작으로 구성
  • 객체 : 연관된 모든 인스턴스
  • 상태 : 모든 상태와 전이, 진입 조건, 탈출 조건

동적 모델링

  • 시퀀스 : 객체 간 상호작용을 메시지 흐름으로 표현
  • 협업 : 객체 간 연관성
  • 활동 : 활동의 순서대로 흐름 표현
  • 컴포넌트 : 프로그래밍 작업
  • 배포 : 컴포넌트 사이의 종속성

3 애자일 방법론

1 개념

개발과 함께 즉시 피드백을 받아 유동적으로 개발

* cf ) 폭포수 방법론 : 처음부터 끝까지 계획을 수립하고 개발

2 등장 배경

  • 소프트웨어 개발 환경의 변화 : 개발 트렌드의 변화( -> 모바일 )
  • 기존 개발 방법론의 한계 : 절차 위주 -> 신속한 대응이 어렵다

3 주요 원칙

  • 개인과 상호작용 > 공정과 도구
  • 변화에 대응 > 계획을 따르기
  • 동작하는 소프트웨어 > 포괄적인 문서
  • 고객과의 협력 > 계약 협상

4 유형

  • XP : 의사소통 개선과 즉각적 피드백으로 소프트웨어 품질을 높이기 위한 방법론

    * 5가지 가치 : 용기, 단순성, 의사소통, 피드백, 존중

  • 스크럼 : 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론

    * 주요 개념

    • 백로그 : 제품과 프로젝트에 대한 요구사항
    • 스프린트 : 짧은 개발 기간 동안 반복적 수행으로 개발 품질 향상
    • 데일리 미팅 : 매일 15분 정도 미팅으로 To-Do List 계획 수립
    • 스크럼 마스터 : 프로젝트 리더, 스크럼 수행 시 문제를 인지 및 해결하는 사람
  • 린(Lean) : 낭비 요소를 제거하여 품질을 향상시킨 방법론

    * 7가지 원칙 : 낭비제거, 품질 내재화, 지식 창출, 늦은 확정, 빠른 인도, 사람 존중, 전체 최적화

5 비교 ( vs 전통적 방법론 )

  애자일 방법론 전통적 방법론
계획 수립 유동적 범위 설정 확정적 범위 설정
업무 수행 팀 중심 업무 수행 관리자 주도적 명령과 통제, 개인 단위
개발/검증 반복 주기 단위 분석/설계/구현/테스트 순차적
팀관리 업무 몰입, 팀 평가 경쟁, 개별 평가
문서화 코드 강조 문서화 강조
성공 요소 고객 가치 전달 계획/일정 준수

3 분석 모델 확인

1 모델링 기법

1 개념

물리현상을 이용하기 쉬운 형식으로 표현

2 모델링 역할

상황에 대한 이해 증진, 해결책 설명

3 모델링 절차

  1. 요구사항 분석 : 현행 데이터의 문제점과 개선해야 할 점 확인 -> 개선점 도출
  2. 개념 모델링 : 데이터 모델의 전체적인 모양 결정
  3. 논리 모델링 : 개념 모델을 상세화
  4. 물리 모델링 : 논리 데이터 모델을 DBMS의 특성 및 성능을 고려하여 구체화

2 분석 자동화 도구

1 개념

요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발된 자동화도구(CASE)

* 자동화도구(Computer Aided Software Engineering) : 소프트웨어 생명주기의 전체 단계를 연결 주고 자동화해주는 도구 / 소프트웨어, 하드웨어, 데이터베이스, 테스트 등을 통합하여 소프트웨어를 개발하는 환경 조성

2 등장 배경

  • 산업 측면 : 소프트웨어 위기의 극복 대응방안
  • 관리 측면 : 사용자의 요구사항과 실제 시스템 간의 차이 / 재사용성, 생산성 및 유지보수의 어려움

3 특징

  • 표준화 적용과 문서화를 통한 보고 -> 품질 개선 가능
  • 변경 사항과 변경으로 인한 영향에 대한 추적이 쉽다
  • 명세에 대한 유지보수 비용 축소 가능

4 분류

  • 상위 CASE : 모델 간 모순 검사, 오류 검증, 자료 흐름도 작성 지원
  • 중간 CASE : 상세 설계 작업, 화면 출력 작성 지원
  • 하위 CASE : 시스템 명세서, 소스 코드 생성 지원

3 요구사항 관리 도구

1 개념

요구사항을 기반으로 프로젝트 관리, 설계, 개발, 테스트 등을 수행할 수 있는 역할을 지원하는 도구

2 기능

기본 기능

  • 프로젝트 생성 : 템플릿, 재사용
  • 요구사항 작성 : 고유 ID, 식별자 사용 구분
  • 요구사항 불러오기/내보내기 : 다양한 확장자 제공

핵심 기능

  • 요구사항 이력 관리 : 변경 이력 관리 기능 제공
  • 요구사항 베이스라인 : 확정을 위한 베이스라인 제공
  • 요구사항 추적성 : 이력 추정

부가 기능

  • 협업 환경 : 동시 편집 기능 제공
  • 외부 인터페이스 : 형상 관리 도구와의 연동
  • 확장성 : 타 시스템 연동 제공

3 분류

상용제품

  • 헬릭스 RM : 요구사항 재사용 -> 검증 시간과 반복 업무를 줄인다
  • 지라 : 애플리케이션 생명주기 관리, 요구사항 관리
  • 오르카노스 : 기업 대상 요구사항 관리용 단일 저장소 제공
  • 리큐테스트 : 요구사항 파악 및 관리 프로세스를 단순화

오픈 소스

  • 레드마인 : 웹 기반 프로젝트 관리, 버그 추적 기능
  • 테스트링크 : 테스트 케이스와 요구사항의 매핑 지원
반응형

+ Recent posts