L7: Software Development Methodologies * Flashcards
What is an information systems development methodology?
An information systems development methodology is a collection of procedures, tools, techniques, and documentation aids which help guide developers through planning, management, control, implementation, and evaluation of a new information system.
Properties of a systems development methodology (5)help
Procedures
Techniques
Tools
Documentation aids
Phases
1970s-2000s development methodologies evolution timeline (4)
1970s Waterfall approach
1980s Spiral approach
1990s Object-oriented approaches
2000s Agile approaches
What is the waterfall approach in systems development? (7 phases)
The waterfall approach was a systems development methodology developed in the 1970s-1980s by Royce, W. It described an incremental approach to development including 7 phases, which were:
System requirements -> Software Requirements -> Analysis -> Program Design -> Coding -> Testing -> Operations
Problems with the waterfall model (describe 5)
Projects ran over time and budget
Projects required excessive documentation
No working product was delivered until the end of the project
Could not adapt to changing requirements
Little integration between teams - poor communication
What is Boehm’s spiral model of systems development? (4 cycles)
Boehm’s spiral model, published in 1988 identified issues with Royce’s waterfall model and proposed a cyclic process for system development. It describes an incremental and iterative approach to development. It includes:
- Repeated risk assessment
- Repeated prototype development and evaluation
- Repeated cost assessment
- Multiple review/stopping points
Describe the object-oriented methodologies approach to systems development?
The Object-oriented methodologies were developed to be suitable for the object-oriented programming languages (VB, Python, Perl, C++, C#, Java, PHP, Ruby, Javascript) becoming popular in the 1990s, they used UML, and used iterative and incremental development.
What is Rational Unified Process (RUP)?
Rational Unified Process (RUP) is one of the most popular object-oriented methodologies, and is described as a use-case driven, architecture centric, iterative and incremental methodology.
What is meant by use-case driven and architecture centric in RUP?
RUP is use-case driven because it uses use-cases to capture and organise requirements, and iterations of development in phases.
RUP is architecture centric because it uses the three-tier architecture layers (views), and components, of the system to understand and guide development
Rational Unified Process (RUP) phases
Inception, Elaboration, Construction, Transition
What is Unified Modelling Language (UML)?
UML is a standardised modelling language used and understood by software developers and analysts to design and visualise models of systems. UML is based on modelling objects, and its diagramming tools use a standard notation to communicate designs. The UML standard contains 12 diagrams, for modelling static structure and dynamic behaviour of systems
UML structure diagrams
Structure diagrams show the static structure of the system and its parts, they include:
Class diagram
Package diagram
Deployment
Composite structure
Communication diagram
Component diagram