Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

Software design -- The confussion of buzzwords

First, some background. I am not a software developer, nor have I the training or experience to be one. However, I do like computers and have developed a desire to play with computers more then the average joe. I have done coding in 8088 assembly, pascal on both apples and IBM's, and since have found perl as my language of choice.


Over the years, I have developed lots of fun throw-aways but only one application that grew to any considerable size (+1000 lines). Recently, I have began coding more often and have noticed one major roadblock to my development which has really begun surfacing since I have begun playying with OOP. That problem is my process of development. I lack very much structure to my design. I code and fix. Learning from books has taught me understanding of the languages, the control structures, data structures, importance of encapsulation etc... But somehow I have ( missed || been unable to find ) any good knowledge of design. Other then the buzzwords I find on the net and in the bookstores the closest thing I have learned about programing design methods has been limited to Top-Down, Bottom-up, and I briefly remember some book I read that explained flowcharting... (Cant remember the proper symbols though!).

The problem with coding then fixing is that many times you are half way through coding your program when you realize that the way you have designed code that doesnt work, or doesnt work well. Then you throw it all away and start again.

So I decided to do some searching to get an idea of the methods and processes used to develop software. There is so much information out there that you quickly get information blurr by the magnitude of buzzwords and design methods. Extreme Programming, RUP, UML, Use Cases, Data Patterns, Agile Software Development, etc....


Software Development Methodologies

Software Development Processes


What I get from the buzzwords...

The steps of development

  1. Software ( Requirements || Specifications )
  2. Design Analysis
  3. Design
  4. Codeing
  5. Testing

My idea of how to proceed

I found a book on jackson structured programming. I think I will read up on this first. Seems more of a design model then design method. In such case, it probably is outdated by UML but appears to be a quick read/learn as compared to UML. Next I guess I should read up on UML since it appears to be a good method to display structure of program as well as structure of classes when you begin doing OOP. Where to go next, Im not sure. Maybee read about Extreme Programming..


Questions

  1. Any sugestions on books that overview the multitude of sofware design methods?
  2. What are you using?
  3. How do you decide how to start development?
  4. How does this change from when you are coding yourself compared to working in teams?
  5. Comments?

zzSPECTREz

In reply to Software design -- The confussion of buzzwords by zzspectrez

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (2)
As of 2024-04-26 04:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found