954,483 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

methodologies in Software development

hi i m bachelor student i want to know about different methodologies used to develop certain software. i know little about waterflow process model, spiral process model, V process model. i know the name of object oriented model bt dont have any knowlegde about that. i m trying to develop a software for a company which manufacture some brushes. i have to made all data record keeping and report generation online. can anyone guide me that which model should i follow. and wat are the pros and cons. as i am the beginner so there can b a lot of mistakes.

sidra 100
Junior Poster
142 posts since Dec 2009
Reputation Points: 6
Solved Threads: 0
 

You kids learn some crazy things. In the real world, there's only one methodology:Stare at the monitor with a confused expression
Type feverishly
Stare at the monitor with a distraught expression
Type feverishly
Make an angry face
Pound on the keyboard
Repeat at #1 until you have something reasonably stable that meets requirements

Narue
Bad Cop
Administrator
15,460 posts since Sep 2004
Reputation Points: 6,464
Solved Threads: 1,401
 

You forgot step zero:
0. Talk to a person who has a fuzzy idea of what they want the computer to do for them.
0a. And unrealistic expectations of how involved they have to be during development.
0b. And unrealistic expectations of how long it will take to finish.
0c. And unrealistic expectations of how much it will wind up costing.

Almost forgot: Software Development Lifecycle <> Project Management Methodology <> Program Design and Development Methodology.

BitBlt
Master Poster
710 posts since Feb 2011
Reputation Points: 367
Solved Threads: 109
 

In my internship, they use the scrum method. It seems to be a good method. Google that.

firstPerson
Senior Poster
3,923 posts since Dec 2008
Reputation Points: 841
Solved Threads: 608
 

Think of what you have done before and what mistakes you did and why, how you succeeded and reasons for that. Do plan to avoid mistakes and do one better in successful strong points. The project work is other pro(cess/blem).

After this you realize that you realy should really understand what is your goal. Don't forget to analyze what you will not do and write documents of that approved by customer.

Finally really that point most most hate is the most important: documentation, documentation, documentation. And in realizing the plan using use case/testing driven development is my favorite. Everything is very much depending from your total situation and qualities of everybody involved.

pyTony
pyMod
Moderator
5,358 posts since Apr 2010
Reputation Points: 782
Solved Threads: 852
 

In my class (all one of them), the instructor taught us to use the Top Down design method. In a nutshell:

1) Study the problem, better than you believe you need to
2) Put off all the details you can, for now.
3) On paper, note the functional separations you'll need, probably:

a) Input
b) processing
c) Output
etc.
4) Note the parameters each functional part will need to work with, and make rough functions in code. Just reasonably close for now, and pseudo code or plain language, is fine.

5) Check that you have all the big parts of the program, included.

6) Start with main(), and work with each function in the order the program will, and start replacing the plain language and pseudo code, with actual code. All the details that you can put off still, put off. Only the essentials right now.

7) Once you have the flow of the program down right, go back and get enough details that the accuracy of your calculations can be confirmed. Things like appearance are still being put off. This applies to all functions except those dealing with appearance and other details.

8) When the above is OK, then get into all the details that you put off. NOW is the time to make your output, really shine.

The advantage is that the important things are done first, and the numerous lines of code dedicated to less important issues, are relegated to later. Things move along faster.

Oddly, this tends to improve those details, because by the time you are writing that code, you know better how you want them to be done.

Adak
Nearly a Posting Virtuoso
1,479 posts since Jun 2008
Reputation Points: 425
Solved Threads: 185
 

Evolutionary model you can go back an alter different stages of the development at any point which is good because requirements and interface designs will more than likely change. It lets you make something that is closer to what the user wants in the long run . . . usualy, but it might get confusing if too many changes are made to previous sections during the life cycle.

perfect for students, i used it in my 3rd year project for my degree because i missed loads of stuff out of the requirements and changed the interface completely after trying to implement the orignal one

ChrisHunter
Posting Whiz in Training
276 posts since Feb 2011
Reputation Points: 36
Solved Threads: 28
 

Use prototype model this is the best model for software development.

shiva07
Light Poster
37 posts since Jun 2011
Reputation Points: 13
Solved Threads: 4
 
Use prototype model this is the best model for software development.


Prove it.

Narue
Bad Cop
Administrator
15,460 posts since Sep 2004
Reputation Points: 6,464
Solved Threads: 1,401
 

For any N methodologies of software development, we can construct a methodology that is as good as the best of the N. Hire N teams to develop the product in parallel, each using a different methodology. When one of them finishes, stop. Your costs will differ from the best methodology's costs by a constant factor, N, which as computer scientists we know is not important.

Rashakil Fol
Super Senior Demiposter
Team Colleague
2,658 posts since Jun 2005
Reputation Points: 1,135
Solved Threads: 177
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You