Click here to Skip to main content
15,910,661 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi guys, recently i have been thinking of how to improve the way/process i followed in software development because i realize that my development life cycle does not conform to the standard. Example of what i mean is jumping into coding after requirement is given without design. Recently i started my research and i realize that design plays a vital role in software development, i was able to read different design patterns (Factory, Proxy Patterns etc). I will like to ask if there are documented reference that anyone can point me to where i can learn how to go about software development from the point where my client gives me their requirement.
Posted
Comments
Ron Beyer 17-Jul-13 11:29am    
Just so you know, design patterns and software design are two completely separate topics, design patterns solve a design issue in code, but you can't apply a design pattern (factory, proxy, etc) to software design. Think of a design pattern as a standard method of performing an action in software, which really doesn't help you design the software in the first place. Patterns are implemented after software design is complete in the coding phase.
Sergey Alexandrovich Kryukov 18-Jul-13 10:19am    
Good point. I added a big comment on pattern in discussion in the comments to my answer, please see.
—SA
ahmedfaruk88 18-Jul-13 6:56am    
Thank you very much for the clarification, sometimes a sentence can explain an entire flip of book. You little clarification made it clear to me. Thanks alot. What i am trying to pass through is Software Design. I am interested in going in-depth in understanding Software Design. Is there any documented reference that will explain in details what Software Design is and how to integrate it with during Software Development Process.
ahmedfaruk88 18-Jul-13 12:59pm    
Thanks alot, I'm digging more into it, and you will always be remembered for the small but mighty information you provided me. Please can you be my mentor, i guess most of the mistakes i do during development process is because of information scatter that the internet pose on most of the beginners. I'll appreciate if my request is granted

1 solution

Unfortunately not, due to some principle reasons. Your current way of considerations of the design patterns and software development methods seems to be based on the view of it as the set of related processes, methods, and/or cookbook recipes. This is not so in reality.

Software architecture and design is not a set of artifacts, this is work.

First of all, there is a lot (really, really many) books of software development process. Some of them really leave impression of the well-described process which should be followed to come to some result. I must say, those book really may have considerable value, but, in real life… only for those who already broke some teeth on building up development process in practice. The scientific value of those methods is just the illusion. I would advise to take all the methodological literature as the source of ideas (and terminology, by the way) and rely on your own brain. There is not an other way.

You see, I came to conclusion that the development should not come from some preexisting development method. It should come from the goals of some particular project and understanding of the specifics of the application and the application field (and major issue with the application field or particular industry branch is people, so, first of all, you should understand their work very well). In other way, you should really invent some particular development method and even some patterns as you go, based on existing idea, but more on your own experience. The new method will be based on previous experience, but, ideally, it should be at least a little different, adopted to you new work.

People have done millions of critical mistakes endangering the success of projects (did you heard that majority of projects are closed before they are complete?), and one of such mistake is the attempt to break the project to fit it some schema of development some project leader is preoccupied with. And failure to work methodically is another fallacy. One other typical mistake is to bring all the patterns and techniques one knows into the project. It does not really help. Everything should start with the goals and taking into account the skills the background of people getting into the project.

—SA
 
Share this answer
 
Comments
Maciej Los 17-Jul-13 11:49am    
Well explained ;)
+5!
Sergey Alexandrovich Kryukov 17-Jul-13 13:23pm    
Thank you very much, Maciej.
Well, I understand that some of my statements may be questionable...
—SA
Maciej Los 17-Jul-13 14:21pm    
Maybe... For me your answer is reasonable ;)
Sergey Alexandrovich Kryukov 17-Jul-13 14:56pm    
:-)
Sushil Mate 18-Jul-13 5:24am    
My +5... you explained here quite very well yet some of them questionable :)

how about having knowledge of famous design patterns, it does help right? they are famous just because of they are useful in many scenarios.

having knowledge of these design patterns always help when you want to design a solution for your problem, yes you can modify them as per your needs. not necessarily you need to follow them as it is.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900