You are currently viewing the personal blog of Wiras Adi, a web designer and application developer, located in Jakarta, Indonesia.

System Development Life Cycle (SDLC) Methodologies

SDLC (System Development Life Cycle), just as the name implies, is defined as the process (as a whole) of developing system or software to meet certain requirements. It covers many activities; starts from understanding why the system should be built, studying the project feasibility, analyzing problems, choosing the system design and architecture, implementing and testing it, up to delivering the system as product to the user. SDLC is a process of gradual refinement, meaning that it is done through several development phases. Each phase continues and refines what’s done in the previous phase. Commonly known development phases in SDLC are:

  • Planning. It is the process of understanding why the system should be built and defining its requirements. It also includes feasibility study from several different perspectives, technical, economic, and organization feasibility aspects.
  • Analysis. This phase includes activities such as problems identifying and analysis, and even predicting potential problems that may arise in the future regarding the system. The deliverables / products of this phase will drive how the system will be built and guide the developers’ works.
  • Design. System analysis leads to design decision, which exactly determines how the system operates in terms of process, data, hardware, network infrastructures, user interface, and other important factors in the system environment.
  • Implementation. This is probably the most resource-, cost-, and time-consuming phase of all. This is when the system is actually built, tested, and finally installed. It also includes activities such as user training and system maintenance. Some experts like to separate them into different phases Deployment and Maintenance. However the four phases are the most commonly known and accepted steps.

SDLC tries to achieve high quality system that meets or exceeds the requirements. Many methodologies have been developed and introduced in order to implement SDLC; some of them also try to improve other (previously) known methodology. Although each method follows certain different techniques and steps, they are all must go into the same development phases described above. There are many system development methods known today, but most of them basically are extended from three main methodologies which are Structured Design, RAD (Rapid Application Development), and Object-oriented Analysis and Design.

Structured Design

This method follows a step-by-step approach which moves logically from one phase to the next. The works done in each phase need to be approved by the project sponsor (this is usually the customer or the business analyst in an organization) before it can proceed to the next development phase. The Waterfall development methodology can be classified as this kind of methodology. This rigor and inflexible manner make this methodology vulnerable to any business changes that happen while the development is still on the way, as it is extremely difficult to go backwards. This may require repeating the whole development process from the start and throw away all that’s been done, and in the worst case it could cause the change of project contract or agreement with the customer.

There are two approaches in developing system using this methodology, process-centered and data-centered approaches. Process-centered approach attempts to get the works done mainly from the perspective of the processes that exist in the operation of the system, which will likely result in system that constructed by process-oriented components. On the other hand, the data-centered approach concentrates on the data used by and involved in the system.

Structured design methodology has some advantages in that the rigor manner of this method forces the developers (analyst and his/her team) to well identify and understand system requirements long time before the implementation phase begins. At least it should have been approved by the sponsor before the developers start coding any programs.

The lack of ability to go backwards of the development phases makes this methodology unaccommodateable to business process changes as the project proceeds. Projects done using this methodology take a long time until users receive some deliverables because usually the system being built can not be presented until it is completely done at the end of the implementation phase.

Structured Design Methodology

RAD (Rapid Application Development)

RAD methodology enters to overcome the weaknesses of Structured Design method. RAD-based development tries to adjust the SDLC phases to have some part of the system (most likely the core function of the system) developed quickly to be delivered to the users. Certain types of RAD method also try to be adaptive to possible changes in the business process by concurrently perform all development phases at (roughly) the same time, like those manifested in the Prototyping RAD and Agile Development Methodology.

RAD methodology introduced the use of advance development tools like code generators and the visual fourth-generation (4G) programming languages such as Microsoft Visual Basic and Borland Delphi. The use of these tools speed up the development process and in some degree produces higher quality of codes. However as the system can be delivered quickly, users tend to change their expectations of what the system can do, thus the requirements tend to change and expand.

There are three categories of RAD:

  1. Phased Development
    This method breaks the requirements into a series of versions, based on which several versions of system will be built sequentially, being the most fundamental and important functions bundled in the first version. Sequentially here means that the next version development will begin only after the preceding version has been approved and implemented. Each version has its own Analysis-Design-Implementation phases (in a smaller scale compared to the overall system). All of these versions will later be tailored to form a complete system that meets the requirements.This method delivers useful system very quickly to users, though it doesn’t cover all functions just yet. And as the system will be built based on many sequential versions, it is very critical to identify important and fundamental functions to be included in the first version, an in-depth initial analysis of the system is needed.

    Phased Development Methodology

  2. Prototyping
    This methodology used usually when the business process is likely to be changed as the project proceeds or when the project sponsor has little idea of what system to be built. The Analysis, Design, and Implementation phases performed concurrently and on each cycle resulting in a system prototype that will be reviewed by the project sponsor. The cycle repeated continually based on the sponsor comments until the prototype successfully meets the requirements. The last prototype will then be called the system.Prototyping development needs only initial basic analysis and design, but as the result important system functions may not be recognized until somewhere in the middle of project timeline. Thus there is a possibility to alter the initial design decision and start all over again from the beginning. It can delivers system quickly to users, though it not exactly meets the requirements.

    Prototyping Methodology

  3. Throw-away Prototyping
    Throw-away Prototyping is similar to the Prototyping method in that it also develops a prototype. But the throw-away prototype is rather presentational only, the prototype actually does nothing. It is intended to help users visualize the system being built. Based on the user’s comments, the next prototype continuously built until it can visualize the real working system. The next step would be implementing the real system. This throw-away prototype is also called dummy (mock-up) prototype.It is best if possible to do a thorough initial analysis before the developers start working on the first dummy prototype, as the dummy needs to contain enough details about the real system. This method doesn’t deliver incomplete systems within the project timeline like prototyping method, but in the end it delivers the complete system very quickly. It generally has shorter project timeline compared to other methods, because building dummies is considered easier and less time-consuming than building working prototypes.

    Throw-away Prototyping Methodology

Object-oriented Analysis and Design

The Object-oriented methodology developed based on the lack of synergy between process-centered and data-centered approaches in SDLC. Decomposition of system into a set of process (process centric) or data (data centric) can not be easily obtained, as both aspects are closely related one another. It is difficult to develop system by primarily focusing only to one aspect. As result, the system produced tends to be extendable only in one world. A process centric developed system can not be easily extended when there are changes in type of data in the system. This kind of problems also exists in the data centric developed system.

OO methodology decomposes problems into objects. Objects are considered part of the system that contain both process and data, an object may do some activities/processes (mapped as object methods), an object may also have states (mapped as object attributes). This way, developers will focus on the entity in the system that actually does processes and carries data, rather than focus primarily only to one aspect. OO-based system development extensively uses a tool called UML (Unified Modeling Language), which is a set of standard in diagramming and modeling techniques invented by three OO champions, Grady Booch, Ivar Jacobson, and James Rumbaugh, when they worked together in Rational Software. In 1997 UML proposed to and accepted by the Object Management Group (OMG) as a standard diagramming notation in object-oriented system development.

An OO approaches in system development must be:

  • Use-case Drive
    This means that use-case is the primary modeling tool to define system behavior. Use-cases describe how the users of the system interact with the system to perform activity. And as a use-case focuses only to one activity at a time, it is inherently simple.
  • Architecture Centric
    The term architecture centric gives a high level view of the system being developed. The software architecture chosen for the system should drive the specification, construction, and documentation of the system itself. The system architecture must support three views of the system:

    • Functional view
      Describes system behavior from the perspective of users of the system. Use-case diagrams used to depict this functional view.
    • Static view
      Describes the structure of the system in terms of classes, methods, attributes, and relationships of objects in the system. This view is depicted using CRC (Class Responsibility Collaboration) cards, as well using class and object diagrams.
    • Dynamic view
      Describes the internal system behavior in terms of object communications and change of states. UML tools used to depict this view are sequence diagrams, collaboration diagrams, and object state-charts.
  • Iterative and Incremental
    Iterative and Incremental paradigm means that each iteration of the system development must bring the system closer to the requirements. As SDLC is a gradual process, the UML diagrams used in OO-based development moves from a conceptual and abstract thing in the analysis and design phase to become more and more detail in the implementation phase.

89 responses to this entry so far.

  1. Bob Stewart

    I see you have a considerable amount of experience regarding SDLCs and related issues. At the risk of self promotion check out the free resources at Thanks in advance for the consideration and keep up the good work. Sincerely, Bob Stewart

  2. Wiras Adi

    Thank you for the information Bob, that’s indeed a HUGE resource of SDLC.
    I’m currently waiting for a quite big project now, and I think it would be useful to have your site bookmarked.

    And thanks for visiting.

  3. Negin

    I have a task at hand which is to discuss common causes of software project failures and the ways in which different approaches to the System Development Life Cycle (SDLC) attempt to improve project success rate.

    Do you recommend your information as a good answer to my task/question?

    Or are there more approaches to SDLC?

    Kind regards,


  4. System Development

    Hello. Thank you for the useful inputs you posted. It helps a lot to me. From your post I learn something new regarding on SDLC, how it flow and the uses. I already apply it on one of our projects. Good post friend. Keep it up!

  5. System Development

    Hi there! the information that you posted is really helpful to the people who needs and want to know about SDLC. Anyways everything you said is really true and in our subject in System Application and Development it was also discuss about that… NExt time I will also add some info about SDLC.

  6. Marie Claire

    Wow,nice article you’ve explained well how system development life cycle Methodologies.

  7. Paul

    I had an assignment on describing the shortfalls in ths standard SDLC and methods which help improve the performance of software systems development. This article you posted was very beneficial. Thanx alot keep up the good posts pal :-)

  8. ajeet sankhwal

    Thanks for the nice exlpanation.
    But if you have some images on SDLC please keep on your site, it will help us a lot.

  9. Syed Noman Mustafa

    Thank you very much.
    very nice information.
    very helpful information.
    further required if possible i.e. what is spiral Methodologies?
    differrent between waterfall & spiral.


  10. Sheryl Ng

    Thanks for the information. Very helpful.

  11. Yogendra Singh Shekhawat

    Wiras Sir,
    Would you guide me what’s the actual thing ?

    What is the relation between SDLC (System Development Life Cycle) and SSADM (Structured System Analysis and Design). Is these two terms are different or separate of each other or same or one of these two is a component of another.
    Prototyping and RAD should be listed with SDLC or SSADM or with both of these ?

    I am totally confused. Plz help me.

  12. Aysha _Bahrain

    I just would like to say thanks a lot =)

    you present the subject with great simplicity
    we used to study them in deep which creates lots of confusion .. seeing the big picture from outside helped me getting a clear vision

  13. Noof (K.S.A)

    Thank you so much.
    Your explainations give me a clear picture about SDLC methodology.
    It is very helpful. I really understand it !


  14. Nicole H

    very useful info and i got amuch better understanding of the sdlc. would like to know if u link the various systems with their methodologies eg. waterfall & ssadm in other articles/blogs

  15. junrex Velete

    i am very grateful for your explained it well…thank you…i learned a lot//,..

  16. jitendra kumar suthar

    I am a charterred accountant student in india. Your article is very informative stuctured in engrossing style. please write in depth about how each step is accomplished.

  17. tony abuga

    thanks alot for the information it really helped me secure ajob.

  18. Jonathan Malisa

    Thanks for good references

  19. Tharmini Manoharan

    I am an IT Student. Your article is very useful to my studies. Thank you very much.

  20. laila

    Thanks a lot…..
    this was a lot helpful……
    Many other websites contained wrong info….
    Bu his was absolutely goooodd……….

    Thank you…….. I needed his alot………….

  21. Anon03

    Well, thanks. SDLC proves useful when performing big projects. I have a hot project coming up and your blog and site will fit the bill.

  22. moses t sheehama

    the information was helpful… thankx

  23. Sandra aseka

    Thanks you equiped me with a full knowledge on sdlc .i see myself pass the exam.

  24. Kwesi Banson

    Hi people can anyone get me some useful resources on an SDLC for a National Identification System…its my big time project. tha

  25. jay

    this was shit get some useful information oh my god have some shame you illiterate idiots

  26. symo

    what a nyce article!congratz u people.

  27. moses aubyn

    why might it make sense to execute system analysis and design phase activities sequentially, even though in practice iterations are used in nearly all system development project

  28. bhanu

    can you please tell me what uml diagram will be used in SDLC.


  29. tishora callender

    hey, i’m so grateful that i checked out this blog. it was so informative and cleared up all ambiguities that i may have. unlike jay who posted on 15/11/11, i think it clears up illeteracy. shame on him

  30. josephine

    great article sincerely grateful.

  31. George

    Just what am looking for!!!!!!
    Most comprehensive

  32. Millicent

    Hi, thank you for posting such an important article. It is wonderful. Be blessed.

  33. hayatu shehu rumah

    wow what a nice article tanx allot and i have learn many things in sdlc

  34. mosetio

    reasons why sytem analyst prefers prototyping instead of SDLC

  35. mosetio


  36. Sean

    Thanks! I have got much knowledge on this page.

  37. waleed

    this is the interesting comparison between different methodologies. i was finding comparison between different methodologies for my system development method assignment. you this help it me. so thanks for posting this up.

  38. Euro 2012 highlights

    I do understand what exactly OOADM is, but the problem is what are its disadvantages ??

  39. Fadi Khouri

    Very informative. Thank you

  40. moffat

    Thanks for your great article. It has helped me so much solve many problems which I had. Also I have learnt alot .

  41. charles chomba jnr

    thank you for the great article you have helped my to answer my assignment….

  42. cerberus

    Hi Bob,

    Very well explained. Thank you for writing this blog. I now have my SDLC methodology to use and clear idea about this method for my current project.

  43. Mihiri

    Great Stuff !! Well done

  44. veronicah

    thanks for your help

  45. HP

    thanks a lot!!!!!!

  46. roshni rifat

    Thankx alot 4 such a nice explination!

  47. John-West

    please i need a detailed explanation of SDLC

  48. Alfy Farhan

    thankss a lot.
    it really help me in my first class
    i will use this link to complete my assignment

  49. Cheptoek Aggrey

    thx so much 4 your posts..its helping us alot in our coursworks..

  50. dinesh gurung

    thanks its really help me for my MCA paper…


    this is really helpful especially in my course of business computing

  52. Leo Muteti

    you have saved my head on that assignment bro. Thanks.

  53. b mashcom

    thats a wonderfull article, now i can write my SAD exam fairly relaxed

  54. amila

    i would like to thank u all for this nice explanation on SDLC . It’s so beautiful. If u could explain some more SDLC models in this way , it’ll be much good to the reader.
    Thank U a Lot !!!

  55. Joshua Zireva

    this is excellent

  56. muntaser

    thanx alot for very good explanation ….

  57. Haroon

    That’s Amazing And Time Saving…

  58. Phillip

    Thank you Wiras Adi. This has been a great help with my college homework.

    I still need to find: Parallel, V Model, Iterative(diagram) and Extreme Programming

    (or I could just buy the book! :) )

  59. salma jahan

    What a nice and helpful post this is!!!!!!
    keep it up.


    am grateful for this explanations

  61. laizza huertas

    Thank you Mr. Bob. You have given us the answer in our group activity here in school.

  62. Festus Chimezie

    Tnks bob,I do understand vry clearly,this is just wat I need to knw….up you.!

  63. star m tunna

    i realy lov searchng with google, coz it has a good display

  64. kipkoech

    nice job.but where is the implementation part of this project.i.e the tools such as pilot,parallel,direct, & phased.thanks.

  65. joshua


  66. joshua

    good notes

  67. Rebby Rebby

    very useful information, you explain it well. Thank you very much!

  68. how to start a web designing company in india

    This design is steller! You most certainly knw
    how to keep a reader entertained. Between your wit and your videos,
    I was almost movrd too start my own blog (well, almost…HaHa!)
    Excellent job. I reallly enjoyed what you had to say, and more than that, how you presented it.
    Too cool!

  69. Ciara

    So cool. Thank you so much! This was a such a big help in my documentation.

  70. george

    nice one bro

  71. de todas recomiendo esta

    Alucinante, este articulo es sugestivo, mi padre esta leyendo con interes
    muchos este tipo de columnas, por tanto voy a decirselo y enviarle hasta aqui.

  72. hyw

    Thanks a lot…

  73. Joseph Mashauri

    hi i like your post i learn a lot which i didn’t know
    thanks much

  74. Andres Traslavina

    Hiring a Director at WholeFoods


    Terrific work! This is the kind of information that should be shared around the web.
    Shame on Google for not positioning this post upper!

    Come on over and consult with my website . Thank you

  76. Fabrice kisaho

    Right answer

  77. Noreen

    Une fois de plus un très bon article, j’en parlerai dans la semaine avec
    mes voisins

  78. Abdu



    Excellent site you’ve got here.. It’s hard to find high quality writing like yours these
    days. I really appreciate people like you!
    Take care!!

  80. guitar teacher

    Thanks for a marvelous posting! I truly enjoyed reading it, you’re a great author.I will ensure that I bookmark your
    blog and may come back at some point. I want to encourage continue your great work, have a nice afternoon!

  81. Www.Photosbyferreiro.Com

    Great goods from you, man. I have understand your stuff previous to and you are just too great.
    I actually like what you’ve acquired here, really like what you are saying and
    the way in which you say it. You make it enjoyable and you still take care of to
    keep it sensible. I can’t wait to read much more from you.
    This is really a terrific website.


    I am now not sure the place you are getting your info, however great topic.
    I must spend a while finding out more or understanding more.
    Thank you for excellent information I was looking for this info for
    my mission.

  83. dog obedience

    Hi colleagues, its wonderful paragraph on the topic of
    educationand entirely defined, keep it up all the


    I have to thank you for the efforts you have put in writing this site.
    I am hoping to view the same high-grade blog posts by you
    in the future as well. In truth, your creative writing abilities has encouraged
    me to get my own, personal site now ;)


    Thanks for a marvelous posting! I actually enjoyed reading
    it, you happen to be a great author.I will ensure that I
    bookmark your blog and definitely will come back later on. I want
    to encourage yourself to continue your great posts, have a nice evening!

  86. it support strategy

    Piecxe of writing writing is also a fun, if you be familiar with after that you can write otherwise
    it is complicated to write.

  87. » It Support West Midlands- Why It Support Services Are Necessary

    [...] best tech support [...]


    Asking questions are actually nice thing if you are not understanding anything fully,
    but this paragraph gives good understanding even.


    Hi there, its nice post concerning media print,
    we all be aware of media is a impressive source of facts.