Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Comment on

( #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":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

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

    How do I use this? | Other CB clients
    Other Users?
    Others taking refuge in the Monastery: (8)
    As of 2014-09-30 12:23 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      How do you remember the number of days in each month?











      Results (367 votes), past polls