소프트웨어 공학(10)
-
유스케이프 다이어그램 :관계
관계1. 액터 -> 유스케이스 관계액터와 유스케이스는 연관 관계로 방향성을 갖는 실선으로 표현화살표 방향은 데이터가 흘러가는 방향이 아니라 제어의 흐름을 나타냄제어하는 주체에서 출발해 제어받는 대상으로 연관 방향이 결정시스템 액터도 유스케이스 제어의 주체가 될 수 있음액터와 시스템 액터 사이, 즉 액터와 액터 사이에도 연관 관계가 존재할 수 있다2. 유스케이스 -> 액터 관계유스케이스의 수행 결과를 액터에게 알려줄 때는 유스케이스에서 액터로 방향성을 갖는 실선으로 표현유스케이스 -> 액터 관계에서 주의할 사항은 통보 기능이 시스템 내에서 이루어져야 함유스케이스 다이어그램에서 화살표로 나타냈다면 그 기능을 개발에 포함해야 함3. 액터의 일반화 관계일반화: 개별적인 것에서 공통적인 특징을 뽑아 이름을 붙인 ..
2025.04.19 -
유스케이스 다이어그램
유스케이스 다이어그램(Use Case Diagram)시스템이 사용자(또는 외부 시스템)와 어떻게 상호작용하는지를 시각적으로 보여 줌시스템이 제공해야 하는 기능을 이해하고, 그 기능이 어떻게 구현되어야 하는지 명확하게 하는 데 중요한 역할1. 유스케이스 다이어그램의 주요 요소액터(Actor): 시스템 외부에서 시스템과 상호작용하는 주체로, 사람, 외부 시스템, 또는 다른 시스템일 수 있음.ex. 사용자, 관리자, ... 등유스케이스(Use Case): 시스템이 액터에게 제공하는 기능이나 서비스ex. 로그인, 상품 검색, 주문 처리와 같은 일종의 모듈시스템(System): 유스케이스 다이어그램에서 사용자가 사용하는 기능의 집합(=시스템 범위)을 보여주는 경계(Boundary) 역할을 해.관계(Relation..
2025.04.15 -
UML
UML1. UML의 개념소프트웨어 시스템을 다각도로 이해할 수 있도록 12개의 다이어그램을 제시 (UML 2.x에서는 총 14개의 표준 다이어그램)구조 다이어그램, 행위 다이어그램, 상호작용 다이어그램 등시스템이 상호작용하는 측면, 시스템 전체 구조 측면, 컴포넌트 간의 관계 등을 시각적으로 볼 수 있게 나타낸 도면소프트웨어 시스템을 설계하고 이해하는 데 사용되는 표준화된 시각적 언어객체 지향 설계와 개발에 주로 사용되며, 다양한 다이어그램을 통해 시스템의 구조와 동작을 시각적으로 표현UML을 활용하면 복잡한 시스템을 명확하게 설명하고 개발 과정에서 발생할 수 있는 오해나 오류를 줄일 수 있음 2. UML의 역할시각화: 복잡한 소프트웨어 시스템을 이해하기 쉽게 시각적으로 표현문서화: 시스템의 구조와 동작..
2025.04.13 -
애자일 프로세스 모델
애자일 프로세스 모델의 이해애자일: 납렵한, 민첩한애자일 프로세스 모델: 고객의 요구에 민첩하게 대응하고 그때그때 주어지는 문제를 풀어나가는 방법론가벼운 프로세스 방법론의 공통적인 특성을 정의1. 애자일의 기본 가치프로세스와 도구 중심이 아닌, 개개인과의 상호 소통을 중시문서 중심이 아닌, 고객과의 협력을 중시계획 중심이 아닌, 변화에 대한 민첩한 대응을 중시프로세스 품질 자체보다는 산출물의 실행 가능성과 사용자 피드백을 더 중시 2. 애자일의 원칙고객 만족을 위한 소프트웨어를 빠르고 지속적으로 제공개발 후반 새로 추가되는 요구사항 허용동작 가능한 소프트웨어를 자주 고객에게 전달 (짧으면 2주 길면 2달)대면 의사소통 중시자율적 사고와 자유로운 분위기 중시 3. 애자일 프로세스 개발 방법기본기능만 1차 ..
2025.04.13 -
소프트웨어 개발 모델
진화적 프로세스 모델1. 나선형(Spiral)모델위험 중심(Risk-driven) 개발 모델위험 분석 단계에서 위험 요소는 소프트웨어 개발 과정이 진행되는 데 방해되는 모든 것초기 요구분석 후 프로토타입 개발 이전에 위험 분석 단계를 거침2. 나선형모델의 개발 절차계획 및 요구분석 단계사용자의 개발 의도를 파악해 해당 프로젝트의 목표를 명확히 하고, 여러 제약 조건의 대안을 고려한 계획을 수립사용자의 요구를 통해 파악 한 기능 요구사항과 성능 등 비기능 요구사항을 정의하고 분석위험 분석 단계프로젝트 수행에 방해되는 위험 요소를 찾아 목록을 작성하고 위험에 대한 예방 대책을 논의심각한 위험이 존재하는 경우에는 해당 프로젝트를 계속 진행해도 되는지를 점검개발 단계프로토타입을 만드는데, 다른 소프트웨어 개발 ..
2025.04.12 -
소프트웨어 개발 프로세스
전통적인 소프트웨어 개발 과정소프트웨어 개발 프로세스1. 소프트웨어 프로세스프로세스: 흔히 일을 처리하는 과정 또는 순서소프트웨어 프로세스: 소프트웨어 개발 과정을 체계적으로 계획,관리할 의도 아래 서로 관련 있는 활동을 단계로 분리하여 정의한 것블랙박스 프로세스:개발 초기에 요구사항을 한 번 정한 뒤, 중간 피드백 없이 일괄적으로 개발을 수행하는 방식개발 과정이 사용자에게 보이지 않으며, 최종 결과만 전달됨장점: 빠른 개발 가능단점: 사용자 요구 반영이 어려움, 잘못된 방향으로 개발될 가능성투명한 프로세스:개발 단계를 작은 단위로 나누고, 각 단계마다 사용자 피드백을 받으며 개발하는 방식사용자와의 지속적인 소통을 통해 점차적으로 제품 완성도를 높임장점: 사용자 만족도 상승, 요구사항 반영 용이단점: 개..
2025.03.25