System Development Techniques Individual Assignment

profileTubekbay001
Lesson1.pdf

System Development Techniques

Diploma in Information Technology

Lesson 1

Learning outcomes After studying this chapter and the recommended reading, you should be able to:

• Discuss the software development and systems analysis and design

• Explain the systems development life cycle • Explain the iterative development

Information System

• Information system – a set of interrelated components that collect,

process, store, and provide as output the information needed to complete business tasks.

– consists of software, database, and manual processes.

Systems analysis

• Activities that to understand and specify what the new system should accomplish.

• Systems analysis describes in detail what a system must do to satisfy the need or solve the problem.

Systems analysis

• Example, a customer management system must: • track customers, • register products, • monitor warranties, • track service levels, • And many other functions

all of which have many details.

Systems design

• Activities that enable a person to describe in detail how the information system will actually be implemented to provide the needed solution.

• Describes how the system will actually work. • Specifies in detail all the components of the

solution system and how they work together.

System analysis vs design

• System analysis – What is required for the new system to solve the

problem

• System design – How the system will operate to solve the problem

System analysis vs design

• System analysis – Example: A customer management system must:

track customers, register products, monitor warranties, track service levels.

• System design – Some possible artifacts: UI design, use cases, class

diagrams, activity diagram, ER diagram etc

Systems Analyst

• Programmers don’t just sit down and start writing program code.

• Need a systems analyst to plan, capturing the vision, understanding details, specifying needs—before designing and writing the code that satisfies the vision.

Systems analysis and design

• Systems analysis and design provides the tools and techniques required to complete the IS development process: 1. Understand the need (business need). 2. Capture the vision. 3. Define a solution. 4. Communicate the vision and the solution. 5. Build the solution or direct others in building the solution. 6. Confirm that the solution meets the need. 7. Launch the solution application.

The System Development Life Cycle (SDLC)

• SDLC : – a framework that identifies all the activities

required to research, build, deploy, and often maintain an information system.

– includes all activities needed for the planning, systems analysis, systems design, programming, testing, and user training stages of information systems development, as well as other project management activities that are required to successfully deploy the new information system.

The System Development Life Cycle (SDLC)

• Six core processes • Identify the problem or need and obtain approval to

proceed with the project. • Plan and monitor the project—what to do, how to do it,

and who does it. • Discover and understand the details of the problem or the

need—what is required? • Design the system components that solve the problem or

satisfy the need how will it actually work? • Build, test, and integrate system components • Complete system tests and then deploy the solution

The System Development Life Cycle (SDLC)

• Six core processes

The System Development Life Cycle (SDLC)

• Many ways to implement the six core processes of the SDLC to handle each project’s complexity.

• IS development methodology – set of comprehensive guidelines for carrying out all the

activities of each core process of the SDLC. – each methodology prescribes a way of carrying out the

development project, – every organization develops its own system development

methodology over time to suit its needs.

Agile Development

• IS research efforts have resulted in many new information systems development methodologies/processes to improve the chance of project success.

• These are all based on what is called Agile development.

Agile Development

• Agile development philosophy – neither team members nor the users completely

understand the problems and complexities of a new system,

– the project plan and the execution of the project must be responsive to unanticipated issues.

– the plan must be agile and flexible. – It must have procedures in place to allow for, anticipate,

and even embrace changes and new requirements that come up during the development process.

Agile Development

• The six core processes are still involved in Agile development, but they are carried out iteratively.

Iterative Development

• An approach to system development in which the system is “grown” in an almost organic fashion.

• Core components are developed first and then additional components are added.

• Iterative: the six core development processes are repeated for each component.

Iterative Development

• Benefits – Pieces of the system (subsystem) can sometimes

be deployed sooner. If there are core functions that provide basic support for users, these can be deployed in an early iteration.

Iterative Development

• Benefits – By dividing the system into subsystems, the most

difficult problems can be identified and addressed early in the project.

– Many of today’s systems are so large and complex that even with a formal process it is impossible to remember and understand everything.

– By focusing on a subsystem at a time, the requirements are fewer and easier to solve.

Iterative Development

• Benefits – Developing a system in iterations makes the entire

development process more flexible and able to address new requirements and issues that come up throughout the project.

Iterative Development

• A key element of iterative development is dividing system components into pieces that can be completed in two to four weeks.

• During one iteration, all the core development processes are involved (programming to system- wide testing)

• The result is a working part of the system, even though it may only have a portion of the functionality that is ultimately required.

Iterative Development

• Developers choose components for each iteration based on priority, either the components most needed or riskiest to implement.

• SDLC : a framework that identifies all the activities required to research, build, deploy, and often maintain an information system.

• The six core processes of a SDLC are • Identify the problem and obtain approval • Plan and monitor the project • Discover and understand the details • Design the system components • Build, test, and integrate system components • Complete system tests and then deploy the solution

Summary

Summary

• Many ways to implement the six core processes of the SDLC to handle each project’s complexity.

• Agile development is the most common methodology to implement SDLC.

• The six core processes are still involved in Agile development, but they are carried out iteratively.

Summary

• Iterative development is an approach to system development in which the system is “grown” in an almost organic fashion.

Read

Textbook:

• Satzinger, Robert & Stephen Chapter 1