T1 - UML Flashcards
Discuss the purpose of software design
Building code is insufficient to building a program. A plan/ modelling is important to
deploy, build and maintain software,
meet the needs of the business and
create a development road map
Explain the Ad Hoc Model
Development process purely focused on coding
Disadvantage: No framework
Explain what is the Waterfall model
Linear process from one phrase to the next
Advantages: Only realistic in simple systems
Disadvantages:
Non-flexible
Not for complex systems
Liner (cannot go back to analysis and requirement stages)
Explain the concept of Iterations and increment
Iteration: building the same software however better with each iteration
Increment: Enlargement (adding new features/ideas/ requirements) and refinement of the system
Advantage
Enlargement and Multiple Refinement, Reduce risk, Attain early learning, Adaptable
Disadvantages:
Some decisions are pieced together
Explain what is Prototyping and the different types
AIM: to build a demonstration model and Designed to get early feedback
Incremental/ evolutionary Prototyping
Designed to be used in the software development process
Throwaway Prototyping
Prototyping is a non-working model and is to be thrown away
Explain Rapid application development
AIM: Building software using libraries and tools from other developers
Advantages: Fast development
Disadvantages:
> inherit bugs
> Questionable suitability with other program
Explain the Spiral Model
AIM: Iterative and Incremental model that has 4 phrases
Advantages Allows for increments Client can make many changes Significant changes Add new product lines
Disadvantages
Long development and
should not be used for small projects (costly)
Explain the Agile Method
AIM: Iterative Ad Hoc approach
Focused communication
Focused on being adaptive
Relies on technical excellence
Advantages Lower overhead cost Rapid development Quickly meets changes in customer needs Allows for late changes
Disadvantages
Relies on technical excellence
Requires a lot of customer time
Without a plan
Cannot be used for critical applications
Cannot calculate the cost or timeframe of the project
Explain the goal of UML
Should be easy understood by all stakeholders
Visualisation: graphical notation
Specifying: clearly captures
Analysis, design and implementation of decisions
Constructing: can be connected to programming languages
Documenting