SEN2022 - Chapter 1
SEN2022 - Chapter 1
➢ chapter 1
• The process of understanding how an information system (IS) can support business needs by
designing a system, building it, and delivering it to users.
• SDLC is a process used by a systems analyst to develop an information system, including
requirements, validation, training, and user (stakeholder) ownership.
• The System Analyst is the key person:
• Designs a system to add value.
• Must understand the business processes.
• Job is rewarding yet challenging.
• Requires specific skill sets.
a) Planning phase
• Understanding “why” an IS should be built, what value will it provide and time it’ll take to build it
1. Project Initiation
i. Technical feasibility (can we build it?)
ii. Economic feasibility (will it provide business value?)
iii. Organizational Feasibility (if we build it, will it be used?)
2. Project Management
i. Work plan is created, staff the project and monitor it.
b) Analysis phase
• Who will use the system? What will the system do? When will it be used?
1. Analysis Strategy
i. Study of the current system (called the “as-is system”), its problems, and ways to design a new
system (“to-be system”)
2. Requirements Gathering
i. develop a system concept.
ii. System concept then used as a basis to develop a set of business models that describe how
the business will operate if the new system were developed.
3. System Proposal
i. Presenting the system concept and models to the project sponsor and other key decision
makers who will decide whether the project should continue to move forward
c) Design phase
• How should we build it? how will operate in terms of the hardware, software, and network
infrastructure that will be in place?
d) Implementation phase
➢ Classes of methodologies
1. Structured Development
i. Waterfall Development
• The analysts and users proceed in sequence from one phase to the next
• The key deliverables for each phase (documentation) are presented to the project sponsor for
approval
• Once the sponsor approves the work, the phase ends and the next one begins
• Two sets of diagrams are used: Process-model diagramsData-model diagrams.
• Advantages:
• The system requirements are identified long before programming begins.
• Changes to the requirements as the project proceeds are minimized
• Disadvantages:
• The design must be completely specified before programming begins
• A long time elapses between the completion of the system proposal in the analysis phase and the
delivery of the system
• What if the project team misses important requirements? Expensive post-implementation programming
• What if the business environment changes after the analysis phase? (addressed by parallel dev)
• Addresses, What if the business environment changes after the analysis phase?
• Attempts to avoid long delays between the analysis phase and the delivery of the system
• First a general design for the whole system is created
• Then, the project is divided into a series of distinct subprojects that can be designed and
implemented in parallel
• Finally, the separate pieces are integrated and the system is delivered
• Advantages
• it reduces the time to deliver a system (less changes)
• Disadvantages
• Sometimes the subprojects are not completely independent.
2. Rapid Application Development
• Aim: reduce the time the system meets its users the first time
i. Phased development-based methodology
3. Agile Development
• focus on the system development.
• Aim to eliminate much of the modeling and documentation overhead and the time spent on those
tasks.
• All agile development methodologies are based on the agile manifesto and a set of twelve principles
• Virtually all agile methodologies are used in conjunction with object-oriented technologies.
• All agile development methodologies follow a simple cycle through the traditional phases of SDLC
• Criticisms:
• Requires co-location of the development team.
• Development is not carefully managed.
• No actual documentation created during the development.
• Can they deliver large mission-critical systems?
i. Extreme Programming (XP)
• Founded on four core values: communication, simplicity, feedback, and courage
• Developers must
• Provide rapid feedback to the end users on a continuous basis
• Follow the KISS principle
• Make incremental changes to grow the system, and they must not only accept change, they must
embrace change
• Have a quality-first mentality
• Key principles:
• Continuous testing
• Code is tested each day and is placed into an integrative testing environment.
• Simple coding performed by pairs of developers
• Close interactions with end users to build systems very quickly
• XP is recommended only for small groups of developers (<10)
• XP is not advised for large mission-critical applications
• XP needs a lot of on-site user input, many business units cannot commit
ii. SCRUM