모델링

Jeong seulho·2023년 4월 20일
0

소프트웨어 공학

목록 보기
13/25

📌소프트웨어의 모델

  • 만들고자 하는 소프트웨어 시스템을 단순화한 것
  • 분석 단계에서는 고객들이 원하는 시스템의 기능들에 대하여 설명한 것
  • 설계 단계에서는 실제 내부 구조에 대하여 설명한 것

📖소프트웨어 모델링 방법

structured Method (function)

  • 어떤 기능의 요구사항을 위한 인풋과 아웃풋을 정의
  • 인풋으로부터 아웃풋을 만들기 위한 요소들을 정의
  • Data flow diagram, data dictionary가 있다

object-oriented Method (class/object)

  • 객체지향 방법으로 클래스, 객체로 요소들을 정의
  • UML에서 사용

📌object-oriented Analysis

  • 소프트웨어 모델을 만들 때, 내 소프트웨어는 이러한 클래스들과 해당 클래스의 이러한 객체들로 이루어져 있다고 만드는 것
  • 시스템 묘사를 클래스, 객체를 기본요소로 하여 하겠다.

📖특징

  • Information hiding : 사용하는 유저들이 내부구조를 알 필요없으므로 숨김, 캡슐화
  • Inheritance : 재사용하기 위한 상속

📖Object와 Class

  • object : attributes(state, data) + operation(methods)
  • class : 같은 attributes와 operation을 가진 객체들을 모아놓은 것

📖why 객체지향

  • 유지보수 비용을 줄임
  • 좋은 디자인패턴
  • 잘 정의된 개발 절차

📖UML

  • 객체지향분석에 사용하는 표기법
  • 모델링에서만 사용하는게 아니고, 요구사항분석, 모델링, 설계 등 모든 단계에서 사용된다

📌structured Analysis

📖Data flow Diagram

  • 함수를 노드로 하여서 시스템 흐름을 그리는 것
  • 각 p들은 함수를 의미
  • 엣지의 알파벳은 인풋과 아웃풋 데이터를 의미

📖Data Dictionary

  • 인풋, 아웃풋 데이터를 정의하는 것
  • sequencing data types : name + category + class라는 속성이 있어야한다
  • repeating data types : { no + stock number + quantity + unit price }를 한세트로 반복 가능
  • selecting one from several types : [ vaccum cleaner order | jet engine order ] 선택사항으로 추가 가능

0개의 댓글