2

I studied systems analysis and design (SAD) in college/university, which primarily gave a set of methods to design a system, using UML diagrams. Flow charts, entity-relationship diagrams, etc, were used to take an idea or an existing/paper-based system and come up with the design documents for developers to create the new system.

For example, this was one of our textbooks:

SAD Book

I want to know if this is still the (main) method used in the real world, or have things moved on? I am particularly interested in how this might apply to web development.

1
  • If things haven't moved on yet, just wait five minutes. But some principles are eternal. We'll probably still be using loops 50 years from now. Jun 15, 2021 at 13:52

1 Answer 1

4

"Systems analysis and design" is not a clear term. The concept of system analysis, referring to activities that analyze, model, simulate, or conduct experiments to determine feasibility, risk, quality attributes, or cost still exists. The level to which these activities are performed greatly depends on the type of system under development. A system that is life-critical or mission-critical may rely more on these types of activities than other types of systems. However, the idea that comprehensive or extensive design documents are created first and used by developers to build the system is not prevalent.

Big up-front analysis and design activities have fallen out of favor, with agile methods taking their place. Other philosophies, such as lean software development, often support the agile methods. These approaches tend toward small increments of software built iteratively, with just enough requirements analysis and design to reduce risk to an appropriate level. The agile techniques may still employ modeling, and these analysis and modeling techniques may use the same tools (like use cases, UML models, ER diagrams, threat models, data flow diagrams), but they have been supplemented by new tools such as stories, story mapping, and lighter-weight free-form diagrams and sketches. The overall emphasis is on just-enough and just-in-time analysis and design. These techniques are designed to take advantage of the inherent uncertainty and ambiguity, coupled with the ease of changing, building, and deploying software.

5
  • 1
    It depends. Up-front design still works for some projects (read: considered essential), but it has to be undertaken carefully with a clear understanding of the risks and tradeoffs. Jun 15, 2021 at 13:47
  • 1
    @RobertHarvey Even for "essential" projects, the requirements and design can and do change. Trying to do all of the requirements, architecture, and design up-front is far more often than not the wrong approach. I can't tell you the number of times that I've seen software requirements (and therefore the design) changed late to "fix" hardware issues in complex systems. There may be some edge cases, but I'd favor iterative, incremental, just-in-time approaches on nearly all efforts. You are right that it's a trade-off, though, and there are risks with agile approaches.
    – Thomas Owens
    Jun 15, 2021 at 13:58
  • 1
    I do agree there are difficulties. I do agree that on the vast majority of "ordinary" projects (for some definition of "ordinary"), an agile approach is almost always better. Some things, like interfaces between microservices, do need to be planned out in advance. Jun 15, 2021 at 14:00
  • 1
    @RobertHarvey I'd agree. I think things like interfaces between microservices falls into "just-enough and just-in-time". Some decisions need to be made earlier than others with regards to interfaces while other more detailed decisions can be deferred. It's hard to talk in generalizations, though, since it depends a lot on context. Organizational tolerance for risk is a big one, I've found.
    – Thomas Owens
    Jun 15, 2021 at 14:20
  • 1
    It should be understood that even today there are institutions that wont give up BDUF and indeed waterfall like processes (even while calling it agile) do it, not because they think it will help them respond to change, but rather because they believe it will help them stamp it out. Jun 15, 2021 at 19:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.