What is Designing?
Software designing is the second Phase of SDLC(Software Development Life Cycle). Broadly we can describe the design in
In this age of software development using RAD tools, Mostly people uses UML---OOPS for designing.
Before learning about designing follow these steps.
Step1
Write a mission statement. Describe in a couple of sentences what you are making. Consider this example: "Signal processing program to analyze audio and image files." This sets the tone for the rest of the software life cycle.
Step2
Answer some basic questions about your project. Who is the user? What can the users do with the system? How will a user do that with the system? Are there different ways of doing this? What problems can arise when doing that with the system? These questions generate possible scenarios or "use cases" used in software analysis and design. Draw diagrams to represent user cases. Don't make them terribly complex. For more information, read "Use Case Driven Object Modeling with UML" by Doug Rosenberg.
Step3
Determine the classes that will be used in the software programming. Using 3 by 5-inch study cards (bigger cards might be necessary), write the name of the class on one side, and on the other side write the class behavior using action statements. Each action statement will become a member function. Below the action statements, write the collaborations each class will have with other classes. For example, Spectator observes Unit Handler.
Step4
Convert the above design into a simple body of code that will compile. This step will have many iterations. The idea is to test the bare bones structure until it satisfies the user cases and user requirements. Once your system is stable you're free to act with more functionality.
Step5
Test each of the user cases. Each user case can take anywhere from one to three weeks. Once target functionality is accomplished with a user case, move to the next one.
Step6
Add extra features that the customer "just realized" they want. By the end of this step the program should work exactly as specified by they user cases and the user requirements. Everything should feel good. Nothing should be awkward, oversized or out of place. Now you can proceed to the next phase of the software life cycle, which is coding.
view sample software design template