System Development Techniques Individual Assignment

profileTubekbay001
Lesson12.pdf

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