-
필요한기능 체크하기 (요구사항) - 1coding 2019. 3. 7. 10:59
이번 프로젝트에서는 메모장 앱을 만들겁니다. 단순한 메모장이라고 생각하기 쉽겠지만, 그게 그렇게 쉽지가 않습니다.
메모장 앱만 잘 이해하고 만들 수 있으면 다른 어떤 앱도 만들 수 있을거라 생각합니다.
그만큼 단순한 메모장 앱이지만, 그 안에는 대부분의 프로그래밍 요소가 있습니다.
여기서 잠깐 프로그래밍하고 코딩의 차이점을 잠시 집고 넘어가죠.
프로그래밍은 프로그램을 개발하는 행위를 말하고, 코딩은 그 프로그래밍의 코드를 작성하는 행위를 말합니다.
예를 들어 음식을 만들때, 음식 자체를 프로그램이라고 한다면, 음식을 어떤 방식으로 어떻게 만들지를 계획하는 것이 프로그래밍이고 직접 음식을 만드는 행위를 코딩이라고 생각하시면 되죠.
프로그래밍과 코딩을 굳이 분리해서 말하실 필요는 없고, 그냥 프로그래밍, 코딩을 같은 의미로 사용해도 됩니다.
그럼, 그냥 단순한 메모장인데 무슨 기능이 그렇게 많은지 한 번 살펴보도록 하겠습니다.
일단 메모장에 가장 단순한 기능을 보면, 저장, 불러오기, 수정, 삭제 정도 될 수 있겠네요.
SNS를 봐도 작성, 저장, 수정, 삭제와 불러오기로 되어 있습니다. 물론 여기에 친구관계 맺기라던지 팔로우, 팔로윙하기 등의 기능이 포함되지만, 이것도 어떻게 보면 저장, 불러오기, 삭제 기능이라고 말할 수 있습니다. 친구라는 것을 저장하고, 나중에 친구 목록을 불러오고, 친구관계를 끊으면 삭제하는 기능입니다.
어쨌든, 메모장은 저장, 불러오기, 수정, 삭제 기능으로 되어 있습니다. 우선 저장기능을 사용할 때 필요한 것이 무엇인지 먼저 보도록하죠.
저장을 하기 위해서는 작성된 글이 있어야 합니다. 작성된 글이 있기 위해서는 누군가가 작성을 해야하죠. 그 누군가는.. 메모장이니 바로 자신이 되겠네요. 여러사람이 작성할 수 있다면 작성한 사람이 누구인가를 알아야 하지만, 나만 쓰는 메모장이니 누가 작성하는지는 굳이 알지 않아도 될 것 같습니다.
다만, 작성한 날짜는 필요할 것 같아요. 작성한 날짜가 없으면 언제 메모를 했는지 알 수 없으니 이건 필요할 것 같습니다.
그리고 좀 더 생각해 보면 작성한 글의 중요도도 필요할 것 같네요. 작성한 메모가 중요한 메모인지 아니면 그냥 일반 메모인지 구분하는 것도 좋을 것 같아요.
또, 책을 분류하 듯 메모도 분류하는게 좋을 것 같아요. 그냥 잡스러운 생각인지, 친구와 약속을 한 것인지, 아니면 여행하면서 메모한 것인지 등등 메모도 정리하기 쉽게 분류를 넣어보는 것도 좋을 것 같습니다.
친구와 약속을 메모했다면, 약속시간에 알람을 주는 건 어떨까요? 더 나아가서 메모만 할게 아니라 사진도 같이 첨부하는 건 어떨까요? 사진에 낙서같은 메모도 좋을 것 같아요.
또 메모를 어디에서 했는지 위치도 함께 저장하면 내가 어디에서 메모했는지 알 수 있으니 더 좋을 것 같네요. 메모를 하다가 기억이 가물가물하면 바로 친구에게 메시지를 날려서 물어볼 수도 있겠네요. 또 인터넷 검색을 통해서 정보를 얻을 수도 있고, 검색해서 찾은 홈페이지를 내 메모에 바로 작성해도 좋을 것 같아요.
단순하게 저장기능만 생각해 볼려고 했는데 너무 나간 듯 합니다. 정리해 보면 메모글, 작성일자, 중요도, 카테고리 또는 태그, 알람, 사진첨부, 사진 수정(낙서), 위치저장, 친구 채팅, 인터넷 검색, 홈페이지 링크 삽입.. 저장하는 기능 하나인데.. 너무 많은걸 추가했네요.
이걸 다 만들 수는 없습니다. 시간도 많이 걸리고, 저장기능만 만들다가 바로 지쳐 버릴 수 있을 것 같아요. 지금까지 생각한 것들에서 우선순위를 정해서 정말 필요한 것만 만들도록 하겠습니다.
우선 메모글, 작성일자는 반드시 있어야 할 듯 합니다. 메모글이 없다면 저장할 메모도 없는거니까요. 중요도 체크나, 카테고리, 태그는 반드시 있어야 할까요? 중요도는 모르겠지만, 카테고리는 아직 필요는 없을 것 같네요.
알람, 사진첨부, 사진 수정, 위치, 채팅, 인터넷 검색 등은 메모장 본래의 목적에서 좀 벗어난 부가적인 기능일 듯 하네요. 이것도 지금은 필요없을 것 같습니다.
그러면. 메모장의 충실한 기능은 메모글, 작성일자, 중요도 정도 될 것 같습니다. 이번에는 이것만 생각해서 만들어 보도록 하겠습니다.
여기에서 잠깐 기획이라는 것에 대해서 말씀드리고 가겠습니다.
앞서 메모장의 저장 기능에 대해서 이것 저것 필요하거나 유용한 것들을 생각하고 풀어놓은 것을 브래인스토밍이라고 합니다. 생각나는 것을 바로바로 적거나 말하는 거죠, 한마디로 깊게 생각하지 말고 생각나는 즉시 말하면서 의견을 모으는 것입니다.
다른 사람의 눈치를 볼 것도 없고, 아이디어가 유치해도 되고, 다른 사람의 아이디어에 붙혀서 다른 아이디어를 내도 됩니다. 다만, 아이디어 자체에 비판을 해서는 안됩니다. 아이디어가 우주나 4차원의 세계로 가버려도 괜찮습니다. 비판을 하게 되면 아이디어를 한 번 더 생각하게 되어 창의적인 아이디어가 나오지 않습니다. 회의는 눈치싸움으로 번지게되죠. 절대 비판을 해서는 안됩니다.
브래인스토밍으로 모은 아이디어를 이제 주제 - 여기서는 메모장이죠. - 에 맞게 타당성을 생각해서 걸러내야 합니다. 걸러낸 아이디어에 우선순위를 정하고, 개발이 1차에 끝나지 않을 것 같으면, 업그레이드로 2, 3차에 걸쳐서 각 아이디어를 개발하면 됩니다.
한번에 다 할려고 조급해 하실 필요는 없습니다. 오히려 조급하게 모든 아이디어를 넣는다면 개발자체가 안될 수도 있고, 본래의 메모장이 아닌 완전 다른 앱이 개발될 수도 있죠. 또는 겉만 화려하고 알맹이는 비어 있는 앱이 될 수도 있습니다.
사용자에게 ‘난 이런 이런 기능이 있어'라고 호소한다는 것 자체가 그 앱의 용도를 애매모호하게 만들고, 주체성이 없는 앱이 될 수 있죠. 가장 단순한 기능만 강화한 앱은 사용자에게 기능에 대해서 말하지 않아도 사용자가 알아서 앱을 충실히 사용합니다. 이런 앱이 오래가고, 뭔가 덕지덕지 기능만 붙어 있는 앱은 사용처가 모호하기 때문에 오래가지 못하죠.
어쨌든, 우리는 메모글, 작성일자, 중요도만 저장할 겁니다. 다른 아이디어들은 나중에 생각해보도록 하죠.
'coding' 카테고리의 다른 글
필요한기능 체크하기 (요구사항) - 2 (0) 2019.03.08 메모장 프로젝트 시작 전 (0) 2019.03.05 손공장 코딩 소개 (0) 2019.03.05 댓글