My Project/CCTV(Python)

2. CCTV Usecase Diagram(유스케이스 다이어그램)

코딩 잘 할거얌:) 2021. 5. 16. 02:50
반응형

개발에 앞서, 어떠한 기능을 구현할 것인지 구체화하고 시각화해야 한다. 개인적인 프로젝트를 여러 개 진행해 보았을 때, 무작정 개발하는 것과 차근차근 단계별로 진행했을 때 장단점을 많이 느끼게 되었다. 직접 적어서 정리를 해보자면,

 

장점

  • 무작정 개발 : 초기 개발 속도는 가장 빠르다. 무언가를 한다는 생각에 열정이 솟아난다. 
  • 단계별 진행 : 내가 무엇을 해야 하고 어떤 걸 해야 하는지 정해져 있다. 목표가 정해져 있다.

단점

  • 무작정 개발 : 개발 초기를 넘어설 때부터 기능 구현에 대한 정리가 잘 되지 않는다. 목표가 모호하다. 전혀 필요 없는 기능을 구현할 수 있다.
  • 단계별 진행 : 단계별을 하려다가 개발 속도가 느리고 지지부진해질 수 있다. 개발한다는 생각이 많이 들지 않아서 열정이 상대적으로 덜 솟아난다.

 

이 정도로 정리할 수 있겠다. 사람마다 스타일이 많이 다를 수 있지만, 나는 개인적으로 무작정 시작보다는 단계별 차근차근 진행하는걸 더 선호한다. 무작정 개발의 장점인 열정은 아주 중요하다. 개발자들에게 있어서 열정은 엄청난 동기가 되기 때문이다. 하지만 목표가 모호해서 전혀 필요 없는 기능을 구현하다가 개발 시간을 많이 소모하게 되는 것, 그게 너무나도 크게 와 닿았고, 목표가 정해져 있다는 것은 정말 큰 장점이기에 단계별 진행으로 할 것이다.

 

물론 하나부터 열까지 모두 작성한다는 것은 아니다. 내가 생각하는 최소한의 단계별을 진행할 것이다. UML의 기능적 모델링인 Usecase Diagram과 동적 모델링인 Sequence Diagram 이 두 가지는 작성을 하고 진행을 하겠다.


Usecase Diagram

 

GeeksForGeeks에서 Usecase Diagram을 이렇게 설명하고 있다.


Use case diagrams referred as a Behavior model or diagram. It simply describes and displays the relation or interaction between the users or customers and providers of application service or the system.

(유스 케이스 다이어그램은 Behavior model 또는 Diagram에 속한 것이며, 유저 또는 사용자와 그리고 제공자들의 응용프로그램 서비스 또는 시스템의 관계 혹은 상호작용을 간단한 설명과 보여준다. )

https://www.geeksforgeeks.org/use-case-diagram-for-library-management-system/

 

Use Case Diagram for Library Management System - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org


좀 더 쉬운 말로는 개발자 관점이 아닌, 사용자의 관점에서 작성한 기능 구조도(?)라고 이해하면 쉽다. 생소할 수 있으나, 개발자는 항상 사용자의 사용 관점에서 개발을 해야 하므로 반드시 필요하다.

 

CCTV Usecase Diagram

 

CCTV Usecase Diagram

생각보다 많이 간단하다.

 

사용자는 영상 실시간으로 보는 것과 저장된 영상을 일자별로 확인할 수 있는 것이다. 영상을 실시간으로 보는 것은 내부망을 접속해야 하는데, 내부망은 공유기를 통해서 접속을 할 수 있게 할 것이다. 물론 외부에서도 접속하여 영상 실시간으로 볼 수 있게 하면 좋겠으나, 당장에 필요한 기능은 아니라고 판단을 했다. 일자별 영상 저장은 RaspberryPi의 Python을 실행시켜 저장을 하게 할 것이다.

 

 

다음 포스팅에서는 Python으로 파일옮기기, RTSP로 영상파일 만들기 순서로 진행해보겠다.

728x90