System Development Techniques Individual Assignment
System Development Techniques
Diploma in Information Technology
Lesson 12
Learning outcomes After studying this chapter and the recommended reading, you should be able to:
• Discuss the SDLC methodologies, models, tools and techniques
• Explain Agile development
Methodologies, Models, Tools, and Techniques
• System development Methodology – provides guidelines for every aspect of the system
development life cycle. • For example, within a methodology, certain models, such as
diagrams, are used to describe and specify the requirements.
– Related to these models are the techniques for how the project team will do its work.
• Examples of technique – The guidelines for conducting a user interview. – How to write user story – How to identify use cases/domain class etc.
Methodologies, Models, Tools, and Techniques
• System development Methodology – Each project team will use a set of tools to
• build models, • record information, and • write the code.
– These tools are considered part of the overall methodology used for a given project.
• techniques, models, and tools support one another to provide a comprehensive, integrated methodology.
Methodologies, Models, Tools, and Techniques
• System development Methodology – methodologies used in a company can be
• developed by systems professionals within the company based on their experience.
• learned and used based on purchased materials and training from consulting firms or vendors. (e.g. IBM Rational)
– methodology a company adopts can be • informal, ad hoc and almost undefined • can very chaotic
– Management in IT departments should adopt a flexible methodology so it can be adapted to different types of projects and systems.
Methodologies, Models, Tools, and Techniques
• Models – to record or communicate information, – a representation of an important aspect of the real world. – Aka abstraction
• separate out an aspect that is of particular importance . • For example, a map, only shows the important aspect of a
geographical features. Details like building colours, number of trees along the roads are left out.
Methodologies, Models, Tools, and Techniques
• Models used in system development – representations of inputs, outputs, processes, data,
objects, object interactions, locations, networks, and devices, among other things.
– Mostly graphical models • drawn representations that employ agreed-upon
symbols and conventions in the form of diagrams and charts • The Unified Modelling Language
Methodologies, Models, Tools, and Techniques
• Models used in system development – Some models of system components • Use case diagram • Domain model class diagram Design class diagram • Sequence diagram • Package diagram • Screen design template • Dialog design storyboard • Entity-relationship diagram (ERD) • Database schema
Methodologies, Models, Tools, and Techniques
• Models used in system development – Project-planning model, – Some models used to manage the development
process • Gantt chart • Organizational hierarchy chart • Financial analysis models—NPV, payback period • System development life-cycle model • Stakeholders list • Iteration plan
Methodologies, Models, Tools, and Techniques
• Tools – software support that helps create models or
other components required in the project. – UML Tools: • IBM Rational • StarUML
– A project management software tool, • Microsoft Project
Methodologies, Models, Tools, and Techniques
• Techniques – a collection of guidelines that helps an analyst complete an
activity or task. – it often includes step-by-step instructions for creating a
model, or it might include more general advice on collecting information from system users.
– Examples include data-modeling techniques, software- testing techniques, user-interviewing techniques, and relational database design techniques.
Agile Development
• Highly volatile marketplace – forced businesses to respond rapidly to new
opportunities. – Sometimes opportunities appear in the middle of
implementing another business initiative. – To survive, businesses must be agile— • able to change directions rapidly, even in the middle of
a project.
Agile Development
• Agile development – is a philosophy and set of guidelines for
developing information systems in an unknown, rapidly changing environment,
– complements adaptive approaches to the SDLC and methodologies that support it.
– emphasis on taking an adaptive approach and making it agile in all development activities and tasks.
Agile Development
• Agile modelling – is a philosophy about how to build models, • some of which are formal and detailed, • others sketchy and minimal.
– All the models you have learned how to create can be used with Agile modelling.
Agile Development
• Agile Development Philosophy and Values – “Manifesto for Agile Software Development” • four basic values or core philosophy 1. Value responding to change over following a plan 2. Value individuals and interactions over processes and
tools 3. Value working software over comprehensive
documentation 4. Value customer collaboration over contract
negotiation
Agile Development
• Chaordic – Some industry leaders in the Agile movement coined the
term “chaordic to describe an Agile project. – Comes from two words: chaos and order. • software projects always have unpredictable
elements—hence, a certain amount of chaos. • developers need to accept a certain amount of chaos
and mix that with other Agile modeling and development techniques that help to provide order and structure to the project.
Agile Development
• Another important aspect of Agile development – customers must continually be involved with the
project team. – become part of the technical team. – working software is being developed throughout
the project, customers are continually involved in defining requirements and testing components.
Agile Development
• Agile Modelling Principles: – not about doing less modelling, – but about doing the right kind of modelling at the right
level of detail for the right purposes. – doesn’t dictate which models to build or how formal to
make those models. – helps developers stay on track with their models by using
them as a means to an end rather than end deliverables. – express the attitude that developers should have as they
develop software.
Agile Development
• Agile Modelling Principles: – Develop Software as Your Primary Goal – Enable the Next Effort as Your Secondary Goal – Minimize Your Modeling Activity—Few and Simple – Embrace Change and Change Incrementally – Model with a Purpose – Build Multiple Models
Agile Development
• Agile Modelling Principles: – Build Multiple Models • Build High-Quality Models and Get Feedback Rapidly • Focus on Content Rather Than Representation • Learn from Each Other with Open Communication • Know Your Models and How to Use Them • Adapt to Specific Project Needs
– Maximize Stakeholder ROI
Summary
• A methodology includes – a collection of techniques that are used to
complete activities within each phase or iteration of the system development life cycle.
– The activities include the completion of a variety of models as well as other documents and deliverables.
– system developers use software tools to help them complete their activities.
Summary
• Agile development – is a philosophy and set of guidelines for
developing information systems in an unknown, rapidly changing environment,
– complements adaptive approaches to the SDLC and methodologies that support it.
– emphasis on taking an adaptive approach and making it agile in all development activities and tasks.
Read
Textbook:
• Satzinger, Robert & Stephen Chapter 10