How to develop a software?
Chapter Maturity Level: Work In Progress
Under Estimation Warning
This chapter covers the basics of software development. Generally these concepts are underestimated by the developers. However, these concepts are so fundamental that you should understand them before you start to write code because it may be very late to understand them after you start to write code.
What is Software?
What is Software Development Life Cycle (SDLC)?
What is Software Quality?
The Domain
A domain is a specific area of knowledge, activity, or interest.
Domain Driven Design
Strategic Design
The Problem
In this book, I picked a TODO app as the core domain of the project. The reason why I picked a TODO app is that it is simple enough to write it in a book and it is complex enough to show you how to design a project. For this reason, we will try ti implement a simple TODO app in a right way.
Okay, then we should ask what is a TODO app? A TODO app is an application that you can manage your tasks. Therefore, simple as a user i should be able to
- Browse all the tasks in the system
- Read a single task with its id
- Edit a task title and description
- Add a task with its title and description
- Delete a task with its id
Do you see the pattern?