20. Design Patterns
CS/소프트웨어 공학2024. 2. 4. 16:5720. Design Patterns

Design Patterns 디자인 패턴(Design Pattern)은 특정 문맥에서 반복해서 일어나는 문제에 대한 해결방안을 말하는 것이다. 특이한 문제에 대한 해결 방안이 아닌, 일반적인 문제에 대한 해결방안을 말한다. 일반적으로 잘 일어나는 특정 문제에 대해 사람들이 효과적이라고 인정한 그런 방법을 말한다. 이런 디자인 패턴은 만들어내는게 아니라 찾는 것이다. 가장 적절한 패턴을 찾아내는 것이 우리가 하는 일이고, 이를 찾는 가장 쉬운 방법은 아주 당연하게도 미리 알고 있는 것이다. 특정 문제의 솔루션에 대한 지식을 가지고 있으면 쉽게 해결 할 수 있다. Pattern Templates 대부분의 일반적인 문제를 해결하는 디자인 패턴들은 구글에 검색하면 쉽게 찾을 수 있다. 그리고 이를 쉽게 적용할 ..

19. Software Architecture
CS/소프트웨어 공학2024. 2. 4. 15:4019. Software Architecture

Software Architecture 아키텍쳐(Architecture)라고 하면 전체적인 구조를 뜻한다. 하드웨어 아키텍쳐라고 하면 컴퓨터 구조, 하드웨어 구조를 말한다. 소프트웨어 아키텍쳐의 경우에는 큰 그림(big picture)으로 이해하면 쉽다. Big Picture 이 그림을 다시 한 번 보자. Process Activities 라는 글에서도 봤던 그림이다. ▼ 이 그림의 정체는 Android OS의 소프트웨어 아키텍쳐다. 위로 올라갈수록 소프트웨어 레벨이고, 아래로 내려갈수록 하드웨어 레벨이다. 즉, 우리가 흔히 말하는 High-level과 Low-level의 개념이다. 이렇게 위에서부터 아래까지 전체 서브 시스템들이 뭐가 있는 지 파악하기 쉽게 해주는 것이 소프트웨어 아키텍쳐이고, 전체적인..

18. Refining The Requirements Model
CS/소프트웨어 공학2024. 2. 4. 15:2618. Refining The Requirements Model

Reuse in Object Orientation Object Orientation에서 재사용(reuse)의 핵심 컨셉은 캡슐화이다. Object Orientation에서는 모든 단위에 대해서 external interface를 제공한다. Component 단위에서도 내부가 아니라, 외부 인터페이스만 제공한다. 내부가 어떻게 동작하는 지 알 필요 없고, 시스템과 서브 시스템이 상호작용할 수 있게 정의된 인터페이스가 가장 중요하다. Component 그룹화된 독립적인 시스템을 Component 라고 한다. 인터페이스를 제공하는 것을 통해 자기 자신을 제외한 나머지와 사용할 수 있도록 해준다. 이를 Plugged Together 라고 한다. Plugged Together 같이 꽂는다라는 말로, 단순히 연결(..

17. State Machine
CS/소프트웨어 공학2024. 2. 3. 20:0217. State Machine

State Machine 우리가 State Machine을 작성하는 최종 목표는 Event Action Table이다. Event는 특정 State에서 다른 State로 전환(Transition)을 일으키는 것을 말한다. 즉, Event Action Table은 특정 State에서 다른 State로 전환 될 때 발생하는 Action들을 모아놓은 것이다. Drawing State Machine 가장 위의 단계부터 그려보면서 내려가보자. Main Window & Alert Dialogue 기본 창과 알림을 보여주는 창과의 관계부터 시작된다.▼ 메인 화면(Main Window)에서 예산 확인 메뉴(Check Budget Menu)를 누르면 예산 확인 화면(Check Budget Window)으로 넘어간다. 그..

16. Designing Boundary Classes (작성중)
CS/소프트웨어 공학2024. 2. 3. 19:3916. Designing Boundary Classes (작성중)

추후 이전에 작성했던 내용을 수정하여 올릴 예정입니다. 아래의 글이 영어긴 하지만 설명이 잘 되어있으니 참고하면 좋을것 같습니다. In UML class diagrams, what are Boundary Classes, Control Classes, and Entity Classes? I'm now using NetBeans as my IDE-of-choice, and it has a plugin for UML modeling. In the class diagram, there are model elements known as Boundary Class, Control Class, and Entity Class. However, I... stackoverflow.com

15. Detailed Design
CS/소프트웨어 공학2024. 2. 3. 19:3815. Detailed Design

Detailed Design 앞에서 그린 Analysis 다이어그램만으로는 코드를 만들 수 없다. 그래서 아래의 것들이 있어야 코드로 표현할 수 있다. Types of attributes Operation signatures Assigning responsibilities as operations Additional classes to handle user interface 함수도 리턴 타입과 매개변수 타입을 정의해야한다. 이런 모든 것을 정하는게 Detailed Design이라고 한다. Class Specification : Atrributes 클래스의 Attribute를 표현할 때는 아래의 문법으로 표현한다. ▼ name ‘:’ type-expression ‘=’ initial-value ‘{’pro..

14. Sequence Diagram (작성중)
CS/소프트웨어 공학2024. 2. 3. 14:4314. Sequence Diagram (작성중)

이전에 작성한 글을 수정하여 다시 올릴 예정입니다. 그동안에는 아래의 글에 설명이 잘 되어있는것 같아 아래의 글을 읽는것을 추천드립니다. 사실 제거 굳이 안보고 아래거 보는게 나을 거 같네요. 정리가 되게 잘 되어있어서 공부할 때 참고하기 좋았습니다. [ETC.] 시퀀스 다이어그램 작성법 & 예제 총정리 시퀀스 다이어그램이란? 시퀀스 다이어그램은 UML 다이어그램의 한 종류로 시스템이나 객체들이 메세지를 주고받으며 상호 작용하는 과정을 표현하는 행위 다이어그램입니다. 현재 구축되어 있 coding-factory.tistory.com

1D1S 시즌2 한 달 회고
회고2024. 2. 2. 15:061D1S 시즌2 한 달 회고

2023/10/25 글입니다. 벌써 한달이나?시간이 빠르다.1D1S가 시작된 지 벌써 한 달이 지났습니다. 26일에 들어온 새로운 멤버까지 총 45명이 1D1S 챌린지를 진행중이며, 다들 열심히 일기를 작성해주시고 계십니다. 10월 1일이 엊그제 같은데 벌써 이렇게 많은 일기가 쌓였다는게 조금은 신기합니다. ▼  하지만 시험기간이…그러나 하나 생각하지 못한 부분이 있었는데, 바로 시험기간이었습니다. 이번에도 너무나도 제 위주로 생각을 하여 시험기간에 활동이 저조해진다는 사실을 알아차리지 못했습니다. 시험기간에 공부하다가 잠깐 일기를 쓰거나, 다음날 쓰면 된다고 생각을 하여 학기 중간에 시작을 했는데, 생각보다 일기를 작성하는게 쉽지 않았던 것 같았습니다. 아무래도 이런 저런 해야할 일들이 쌓이게 되면, ..

1D1S 시즌2 2주차 회고
회고2024. 2. 1. 16:071D1S 시즌2 2주차 회고

모집엄청나게 많은 사람들이 모였다.1D1S 시즌2는 9/27부터 모집을 받기 시작하여, 챌린지 시작 2주까지 총 43명의 인원이 모였습니다. 시즌1 때 인원이 19명이었던걸 생각하면, 인원이 2배 보다도 더 많이 모이게 되었습니다.저를 중심으로 모였던 시즌1과는 다르게 시즌2는 시즌1때 참여했던 분들의 지인 혹은 아무 접점 없이 공고를 보고 찾아오신 분들이 상당수 많아졌습니다.사적 모임의 수준에서 이제 공적인 모임으로 탈바꿈하게 된 것입니다. ▼  그런데 학교의 상태가…?인원이 많이 모인것은 좋지만, 조금은 아쉬운 부분은 제가 홍보를 허술하게 한 탓에 ‘여러 학교 사람들이 모여 진행하는 챌린지’라는 본 취지를 지키지 못한 것입니다.아무래도 제가 홍익대학교에 재학중이다 보니 홍익대학교 위주의 커뮤니티에만 ..

1D1S 시즌1 회고와 피드백
회고2024. 2. 1. 15:551D1S 시즌1 회고와 피드백

이 글은 2023/09/08에 1D1S 시즌1의 뒷풀이겸 활동이 어땠는지 설문을 받은 내용을 읽기 좋게 글로 옮겨놓은 것입니다. 1D1S 활동을 직접한 멤버들의 활동에 대한 전체적인 감상부터 시스템 사용성에 대한 문제점, 개선방안, 사용성, 그리고 시즌2에서 바라는 점에 대한 내용이 담겨있습니다.  1D1S 자체의 감상동기부여가 된다 가장 첫번째로 멤버들에게 했던 질문은 ‘1D1S의 전체적인 감상은 어땠는지’였습니다. 좋았던 점, 문제점 그런 세부적인 내용이 아닌, 1D1S에서 주는 인상이 어땠는지에 대해 물어보았습니다. 그 중에서 가장 많이 나왔던 답변은 동기부여가 되는 느낌이었습니다. 1D1S에 속해있는 것 만으로도 무언가를 하고 있다는 느낌, 시간을 헛되이 보내고 있지 않다는 느낌을 받게 된다고 했..

image