1.8 Get Ready for your first challenge
This is a very common question from new software developer that from where we should start. So I thought to explain you the various steps involved from requirement gathering to actually start the development.
What are use cases
So after getting the requirement from a client, the first thing in software development is to break the requirement into smaller tasks. These smaller tasks are called Use cases. Basically these smaller tasks are the activities performed by different users into any software.
Use Case Diagram
So before creating the use cases, business analyst creates high level diagram of use case, that is called “Use case diagram”
Let’s look at the use case diagram of the application we are going to build. I have not added all the activity in this use case for our application, as it will make our diagram too much complicated to understand.
I have created diagram for two roles here and in the same way we can create diagram for other roles as well.
This one is very basic use case diagram, If you want to know more about use case diagram, you can watch the video from the following link
https://www.youtube.com/watch?v=zid-MVo7M-E
So after creating the high level use case diagrams, I writes detailed use cases for each activity
Dependency Graph
Once I have all the use cases, I create dependency graph for each activity. So let’s pick one of use case for our application, i.e.
Sort Bike – So in order to create this functionality, we should have List of Bike, so we should have List Page first
List Page – In order create list of bikes, we should be able to add bikes
Add Bike – So you have the order in which you will have to add the functionality in your application.
Add Bike -> Bike List -> Sort Bike
Isolate your mind
When working on any activity, you should isolate your mind only for that activity. And always first try to create very basic functionality, for example if you are working on Listing Bike, you should not be worried about sorting, layout of page and other fancy features.
After creating very basic list page, you can further go ahead and can make your list page more attractive by adding style sheet and images.
Add Bike Dependency
After creating the dependency chart we can start implementing the use cases. So let’s implement “Add Bike” use case. To implement any use case, we have to think that how our user will interact with our system for that use case. So to add a Bike we will have a user interface something like below
Make – We will have drop down list here for various makes i.e. Harley Davidson, Ducati etc.
Model – After selecting the make, related model should be populated for that particular make in this dropdown. So will will create cascading dropdown here.
Features – And to select features we will have check boxes to select various features on this screen.
Let’s go back to our Dependency Graph and further analyse that what is needed to add MAKE in our application.
Add Bike – To add the Bike , we should have a user interface, in MVC Framework, user interface is created from View, that is “V” in MVC.
View – In order to save the Make , we should have database tables
Database Tables – As we are using code first approach in our course, So to create a table in database, we will add domain classes first
Domain Classes – So here we will add domain class “MAKE”
We will take baby steps here, we will just create Database and Domain Model for our first challenge.
Week #1 Activities
We will complete following activities in coming week
- Create Basic MVC project
- Add connection string
- Create domain class for Make
- Add Database Migration
- Run Update-database command to create Database and MAKE table in our database.
I will complete these activities in coming week and will publish the video and code by the end of week.
So let’s GET STARTED
Nice to see you introduce the concept of Use Cases in this course. Normally, you don’t see this in development courses/tutorials, but it has so much power as its visualization support understanding.
Yup, you are correct, feel free to let me know if you think any improvements are required, will be happy to incorporate those.