A storyboard application example: Online museum visiting
In this article, I was tried to develop an application that will guide young people to discover the historical beauties of their city.
When the web interface or mobile application is opened, a screen similar to the one above should appear and the login part should be done.
After logging in, you can visit the museum, return to the lobby or switch to different exhibitions.
When the desired art piece is clicked from the entered exhibitions, the relevant piece is brought to the screen and detailed information is shared.
The user can also receive audio information about the piece he/she is watching with the headset paired with the camera.
b) Functional Decomposition
c) Class Diagram
With this class diagram I have drawn, I have tried to show the user class with the museum and the basic classes such as museum search and floor plan. Besides, there will be different classes, of course, but I think it will be enough to start with these classes in the first part.
d) Use Case
e) Sequence Diagram
This diagram shows the flow of the user to search for a museum by entering the city name.
f) State Diagram
With this diagram, we can see the part of getting information about a pieces and learning what it is, which in my opinion is the most important thing for an online museum visit. With the button, we receive information about that piece and transmit the information to the user audibly.
g) Software Architectural Style
I think it would be better to write this application with a layered architecture. It should be written in N-tier architecture such as UI, DB, Adapter layers. The mobile or web interface is managed as a separate project or layer. Likewise, information such as exhibition and museum information is kept in the database layer and communication is provided with the dto, that is, the data transfer layer. Thus, no direct link is established between the UI and the DB. In this way, if we want to add different features, we can continue to stratify as appropriate.
h) Value Stream Mapping
I wanted to do a value stream mapping for the new functions that are wanted to be added to our application. First of all, I came up with a process that we can think of as the SDLC process. I have stated the information about how much time will be spent at which stage. I predicted that all processes of the new function, including the live environment transition, would be completed in a total of 19 days.
In the second stage, I classified these tasks and made a value/non-value distinction. In my opinion, since the tasks other than analysis and development are non-value, I separated them as the 2nd group. As a result of this sorting, as can be seen in the image below, 7 days of value added task and 12 days of non-value added task were output. As a ratio, I achieved a value added ratio of 37%.
In the third stage, I made an improvement for the non-value added task by evaluating the process of receiving, evaluating and forwarding the requests to the technical team together in order to improve the system further. I also combined the development and test running tasks and made the non-value added task more valuable by including it in the value added task. In this case, the value added task became 7.5 days in total and the non-value added task 8.5 days. Both my value added task ratio increased (from 37% to 47%) and the total workload decreased from 19 days to 16 days.
In this article, I tried to show the use of value-stream mapping along with the technical diagrams I created in the software development cycle. I hope it was useful.