The Agile Iterative approach, as opposed to the Waterfall approach, can help you design a better solution. The Waterfall approach is linear, and therefore ineffective, because programming is a responsive process, with bugs and new requirements canceling out old ideas. When you are reviewing software development methodologies, as this online video shows, Agile Iterative recognizes that development comes in incremental stages, and that a "good enough" design is all you need to move forward.
- View Offline
It's a common question from people new to programming.…Is there one process, one roadmap, one predefined template that will take…me through all the necessary steps from start to finish, to make a piece of software?…And no, there isn't one process.…There are many that promise to help you do just that.…These are just a few of the formal software development methodologies. Now why so many?…Well, first and most simply, because software development isn't one thing.…
If I want to build a quiz application for my iPhone, that requires one level of thought.…One style of planning.…But if I want to build an international banking system, or a safety monitoring…system for a nuclear reactor, that's something quite different.…So some of these are quite loose and formal, and some are very formal, detailing…every aspect of what's called the software development lifecycle.…Including project management and people management, budgeting, documentation…requirements, down to how many meetings you should have and how often those…
Let Simon Allardice introduce you to the terms—words like abstraction, inheritance, polymorphism, subclass—and guide you through defining your requirements and identifying use cases for your program. The course also covers creating conceptual models of your program with design patterns, class and sequence diagrams, and unified modeling language (UML) tools, and then shows how to convert the diagrams into code.
- Why use object-oriented design (OOD)?
- Pinpointing use cases, actors, and scenarios
- Identifying class responsibilities and relationships
- Creating class diagrams
- Using abstract classes
- Working with inheritance
- Creating advanced UML diagrams
- Understanding object-oriented design principles