Post

요구사항 모델링, Use-case, test, 설계, 이상, 문제현상, 분석, 자바 접근제어자

요구사항 모델링, Use-case, test, 설계, 이상, 문제현상, 분석, 자바 접근제어자

요구사항 모델링 기법

유스케이스 다이어그램:

설명: 시스템과 사용자 간의 상호작용을 시각적으로 표현하는 다이어그램입니다.

예시: 사용자가 로그인하고 데이터를 조회하는 시나리오를 다이어그램으로 표현합니다.

클래스 다이어그램:

설명: 시스템의 구조를 나타내는 다이어그램으로, 클래스와 클래스 간의 관계를 보여줍니다.

예시: 사용자 클래스와 주문 클래스 간의 관계를 다이어그램으로 나타냅니다.

활동 다이어그램:

설명: 프로세스 흐름을 시각적으로 나타내는 다이어그램으로, 각 단계와 그 순서를 보여줍니다.

예시: 주문 처리 과정의 각 단계를 다이어그램으로 표현합니다.

시퀀스 다이어그램:

설명: 객체 간의 상호작용을 시간 순서대로 나타내는 다이어그램입니다.

예시: 사용자 로그인 시 발생하는 이벤트의 순서를 다이어그램으로 표현합니다.

애자일

  • 스크럼(Scrum): 스프린트(Sprint)라는 짧은 반복 주기를 통해 소프트웨어를 개발합니다. 스크럼 마스터, 제품 책임자, 개발팀 등 특정 역할이 있습니다. 스프린트 회고, 데일리 스크럼 등의 정기적인 회의가 진행됩니다.

  • 칸반(Kanban): 작업 흐름을 시각화하고, 작업의 진행 상황을 지속적으로 개선합니다. 칸반 보드와 작업 항목을 사용하여 작업 상태를 추적합니다.

  • 익스트림 프로그래밍(XP, Extreme Programming): 짧은 개발 사이클, 지속적인 통합, 테스트 주도 개발(TDD) 등을 통해 고품질 소프트웨어를 제공합니다. 페어 프로그래밍, 코드 리뷰 등의 협력적인 개발 방식을 사용합니다.

  • 기능 주도 개발(FDD, Feature Driven Development): 복잡한 프로젝트를 더 작은 기능 단위로 분해하여 개발하는 접근 방식

  • 린(Lean)

Usecase 구성요소와의 관계

  • 연관 : use case 와 actor의 관계
  • 확장 : 기본 use case 수행 시 특별한 조건을 만족할 때 수행할 usecase
  • 포함 : 시스템의 기능이 별도의 기능을 포함
  • 일반화 : 하위 use case/action이 상위 use case/actor에게 기능/역할을 상속받음
  • 그룹화 : 여러개의 usecase를 단순화하는 방법

테스트 케이스의 구성요소

  • 식별자(항목 식별자, 일련번호)
  • 테스트항목(테스트 대상-모듈 또는 기능)
  • 입력 명세(입력 데이터 또는 테스트 조건)
  • 출력 명세(테스트 케이스 수행 시 예상되는 출력 결과)
  • 환경 설정(필요한 하드웨어나 소프트웨어의 환경)
  • 특수 절차 요구(테스트 케이스 수행 시 특별히 요구되는 절차)
  • 의존성 기술(테스트 케이스 간의 의존성)

인수 테스트

  • 알파테스트: 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트

  • 베타 테스트: 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트 기법

  • 사용자 인수 테스트: 최종 사용자나 고객이 시스템을 직접 테스트하여 요구사항이 충족되었는지 검증

설계

  • 개념적 설계 : 정보를 구조화 하기 위해 추상적 개념으로 표현하는 과정으로 개념 스키마 모델링과 트랜잭션 모델링을 병행하고, 요구조건 분석을 통해 DBMS 독립적인 E-R 다이어그램을 작성

  • 논리적 설계 : 자료를 컴퓨터가 이해할 수 있도록 특정 DBMS의 논리적 자료 구조로 변환하는 과정

예시 : 트렌젝션 인터페이스 설계 / 스키마 평가 및 정제 / 목표 DBMS에 맞는 논리스키마 설계 / 논리적구조의 데이터로 모델화

  • 물리적 설계 : 논리적 구조로 표현된 데이터를 물리적 구조의 데이터로 변환하는 과정

예시 : 저장구조 및 액세스 경로 설정 / 레코드 집중의 분석,설계 / 저장 레코드 양식 설계

Anomaly

정규화를 거치지 않아 생기는 이상(Anomaly)
삽입이상, 삭제이상, 갱신이상

Reletion

  • 릴레이션 = 테이블
  • 튜플(Tuple) = 테이블의 행
  • 속성(Attribute) = 테이블의 열
  • 릴레이션 스키마 = 릴레이션의 논리적인 구조를 정의한 것
  • 도메인(domain) = 하나의 속성이 가질 수 있는 같은 타입의 모든 값의 집합. 각 속성의 도메인은 원자값을 갖는다.

IP

IPv4 : 유니캐스트, 멀티캐스트, 브로드캐스트 IPv6 : 유니캐스트, 애니캐스트, 멀티캐스트.
보안과 인증 확장 헤더를 사용함으로써 인터넷 계층의 보안기능을 강화하였다.
애니캐스트(Anycast)는 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 전달하는 방식이다.
128비트 주소체계를 사용한다.

문제 현상

Working Set : 운영체제의 가상기억장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합
Locality : 어느 한순간에 특정 부분을 집중적으로 참조
Thrashing : 지나치게 페이지 부재가 발생함으로 인하여 전체 시스템의 성능이 저하되는 현상
Deadlock : 교착상태. 두 개 이상의 작업이 서로 작업이 끝나기 만을 기다리고 있는 것

웹 애플리케이션 서버의 종류

웹 애플리케이션 서버의 종류에는 Tomcat, GlassFish, JBoss, Jetty, JEUS, Resin, WebLogic, WebSphere 등이 있다

분석 도구

  • 정적 분석 도구 - pmd, cppcheck, SonarQube, ccm등이 있다.

  • 동적 분석 도구 - valance, Avalanche, Valgrin

  • pmd - 코드 결함 분석 checkstyle - java코드 표준 준수 검사 cppcheck - c/c++ 오버플로우 검사

자바_접근제어자

  • public : 모든 접근을 허용

  • protected : 같은 패키지(폴더)에 있는 객체와 상속관계의 객체들만 허용

  • default : 같은 패키지(폴더)에 있는 객체들만 허용

  • private : 현재 객체 내에서만 허용

This post is licensed under CC BY 4.0 by the author.