0% found this document useful (0 votes)
55 views42 pages

Computer Fundamentals (CS-101 & CS101L)

This document summarizes a lecture on computer fundamentals and systems development. It discusses the systems development life cycle (SDLC) which includes 7 phases: planning, analysis, design, development, testing, implementation, and maintenance. Each phase involves specific activities. The document also covers software engineering methodologies like waterfall, rapid application development, extreme programming, and agile development. It discusses outsourcing as an option to build large, complex IT systems.

Uploaded by

ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views42 pages

Computer Fundamentals (CS-101 & CS101L)

This document summarizes a lecture on computer fundamentals and systems development. It discusses the systems development life cycle (SDLC) which includes 7 phases: planning, analysis, design, development, testing, implementation, and maintenance. Each phase involves specific activities. The document also covers software engineering methodologies like waterfall, rapid application development, extreme programming, and agile development. It discusses outsourcing as an option to build large, complex IT systems.

Uploaded by

ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 42

Computer Fundamentals

(CS-101 & CS101L)

Lecture 4
Lecture Overview
• SDLC
• Prototyping
• Software Engineering ethics
SDLC
• SDLC stands for
 Systems
 Development
 Life
 Cycle
• The systems development life cycle (SDLC)
therefore, refers to the development stage of the
system’s life cycle.
SYSTEMS DEVELOPMENT LIFE CYCLE
(SDLC)
• Systems development life cycle (SDLC) - a structured
step-by-step approach for developing information
systems
• Typical activities include:
• Determining budgets
• Gathering business requirements
• Designing models
• Writing user documentation
SYSTEMS DEVELOPMENT LIFE CYCLE
(SDLC)
• The SDLC has 7 phases:
1. Planning
2. Analysis
3. Design
4. Development
5. Testing
6. Implementation
7. Maintenance
SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)

SDLC PHASE ACTIVITIES

1. Planning •Define the system to be developed


•Set the project scope
•Develop the project plan

2. Analysis •Gather business requirements


3. Design •Design the technical architecture
•Design system models
4. Development •Build technical architecture
•Build databases and programs
5. Testing •Write test conditions
•Perform testing

6. Implementation •Write user documentation


•Provide training
7. Maintenance •Build a help desk
Phase 1: Planning
• Planning phase - involves determining a solid plan
for developing your information system
• Three primary planning activities:
1. Define the system to be developed
• Critical success factor (CSF) - a factor simply critical to
your organization’s success
Phase 1: Planning
2. Set the project scope
• Project scope - clearly defines the high-level system
requirements
• Scope creep - occurs when the scope of the project
increases
• Feature creep - occurs when developers add extra
features that were not part of the initial requirements
• Project scope document - a written definition of the
project scope and is usually no longer than a paragraph
Phase 1: Planning
3. Develop the project plan including tasks,
resources, and timeframes
• Project plan - defines the what, when, and who
questions of system development
• Project manager - an individual who is an expert in
project planning and management, defines and
develops the project plan and tracks the plan to ensure
all key project milestones are completed on time
• Project milestones - represent key dates for which you
need a certain group of activities performed
Phase 2: Analysis
• Analysis phase - involves end users and IT specialists working
together to gather, understand, and document the business
requirements for the proposed system
• Two primary analysis activities:
1. Gather the business requirements
• Business requirements - the detailed set of knowledge
worker requests that the system must meet in order to be
successful
• Joint application development (JAD) - knowledge workers
and IT specialists meet, sometimes for several days, to
define or review the business requirements for the system
Phase 2: Analysis
2. Prioritize the requirements
• Requirements definition document – prioritizes the
business requirements and places them in a formal
comprehensive document
Phase 3: Design
• Design phase - build a technical blueprint of how
the proposed system will work
• Two primary design activities:
1. Design the technical architecture
• Technical architecture - defines the hardware, software,
and telecommunications equipment required to run the
system
Phase 3: Design
2. Design system models
• Modeling - the activity of drawing a graphical
representation of a design
• Graphical user interface (GUI) - the interface to an
information system
• GUI screen design - the ability to model the information
system screens for an entire system
Phase 4: Development
• Development phase - take all of your detailed
design documents from the design phase and
transform them into an actual system
• Two primary development activities:
1. Build the technical architecture
2. Build the database and programs
• Both of these activities are mostly performed by IT
specialists
Phase 5: Testing
• Testing phase - verifies that the system works and
meets all of the business requirements defined in
the analysis phase
• Two primary testing activities:
1. Write the test conditions
• Test conditions - the detailed steps the system must
perform along with the expected results of each step
Phase 5: Testing
2. Perform the testing of the system
• Unit testing – tests individual units of code
• System testing – verifies that the units of code function
correctly when integrated
• Integration testing – verifies that separate systems
work together
• User acceptance testing (UAT) – determines if the
system satisfies the business requirements
Phase 6: Implementation
• Implementation phase - distribute the system to all
of the knowledge workers and they begin using the
system to perform their everyday jobs
• Two primary implementation activities
1. Write detailed user documentation
• User documentation - highlights how to use the system
Phase 6: Implementation
2. Provide training for the system users
• Online training - runs over the Internet or off a CD-ROM
• Workshop training - is held in a classroom environment
and lead by an instructor
Phase 6: Implementation
• Choose the right implementation method
• Parallel implementation – use both the old and new
system simultaneously
• Plunge implementation – discard the old system
completely and use the new
• Pilot implementation – start with small groups of people
on the new system and gradually add more users
• Phased implementation – implement the new system in
phases
Phase 7: Maintenance
• Maintenance phase - monitor and support the new
system to ensure it continues to meet the business
goals
• Two primary maintenance activities:
1. Build a help desk to support the system users
• Help desk - a group of people who responds to
knowledge workers’ questions
2. Provide an environment to support system
changes
SDLC - Advantages
• Focus on tradeoffs
• Focus on goals
• Controls: milestones, checklist,
accountability
• Tools, models, CASE
• Hierarchical decomposition
• Designed for user & manager involvement
SDLC - Reasons for Failure
• Scope too broad or too narrow
• Lack of needed skills
• Incomplete specifications
• No control/no framework
• Lack of management/user
involvement
• Too time-consuming
Methodologies
• Is there a difference between the term SDLC and
the term ‘methodology’?
• Whereas the SDLC refers to a stage all systems
naturally undergo, a methodology refers to an
approach invented by humans to manage the
events naturally occurring in the SDLC. 
• A methodology is, in simple terms, a set of steps,
guidelines, activities and/or principles to follow
in a particular situation.
• Most methodologies are comprehensive, multi-step
approaches to systems development
Approaches to Systems
Development
• Process-Oriented Approach
• Focus is on flow, use and transformation of data in an
information system
• Involves creating graphical representations such as
data flow diagrams and charts
• Data are tracked from sources, through intermediate
steps and to final destinations
• Natural structure of data is not specified
Approaches to Systems
Development
• Data-Oriented Approach
• Depicts ideal organization of data, independent of
where and how data are used
• Data model describes kinds of data and business
relationships among the data
• Business rules depict how organization captures and
processes the data
SYSTEMS DEVELOPMENT
METHODOLOGIES
• Developers have different development methodologies:
• Waterfall methodology
• Rapid application development (RAD)
• Extreme programming (XP)
• Agile methodology
Waterfall Methodology
• Waterfall methodology - a sequential, activity-based process in
which each phase in the SDLC is performed sequentially from
planning through implementation
Rapid Application Development (RAD)
• Rapid application development (RAD) (also called rapid
prototyping) - emphasizes extensive user involvement in the rapid
and evolutionary construction of working prototypes of a system to
accelerate the systems development process
• Prototype - a smaller-scale, representation, or working model of the
user’s requirements or a proposed design for an information system
Rapid Application Development (RAD)
Extreme Programming (XP)
• Extreme programming (XP) - breaks a project into tiny phases and
developers cannot continue on to the next phase until the first
phase is complete
Agile Methodology
• Agile methodology - a form of XP, aims for customer satisfaction
through early and continuous delivery of useful software
components
OUTSOURCING
• Two primary choices to build IT systems (of great size and
complexity):
1. Insourcing - involves choosing IT specialists within your organization
to develop the system
2. Outsourcing - the delegation of specific work to a third party for a
specified length of time, at a specified cost, and at a specified level of
service
OUTSOURCING
• The main reasons behind the rapid growth of the outsourcing
industry include the following:
• Globalization and the Internet
• Growing economy and low unemployment rate
• Technology and deregulation
• Request for proposal (RFP) – outsourcing document that informs
vendors of your logical requirements
Outsourcing Options
• IT outsourcing for software development can take one of four
forms:
1. Purchase existing software
2. Purchase existing software and paying the publisher to make certain
modifications
3. Purchase existing software and paying the publisher for the right to
make modifications yourself
4. Outsource the development of an entirely new and unique system for
which no software exists
Outsourcing Options
PROTOTYPING
• Prototyping - the process of building a model that demonstrates
the features of a proposed product, service, or system
• Proof-of-concept prototype - used to prove the technical feasibility of
a proposed system
• Selling prototype - used to convince people of the worth of a proposed
system
The Prototyping Process
• The prototyping process involves four steps:
1. Identify basic requirements
2. Develop initial prototype
3. User review
4. Revise and enhance the prototype
The Prototyping Process
Prototyping
Fig. 1-6
Advantages of Prototyping
• Encourages Active User Participation 
• Helps Resolve Discrepancies Among Users
• Gives Users a Feel for the Final System
• Helps Determine Technical Feasibility 
• Helps Sell the Idea of a Proposed System
Disadvantages of Prototyping
• Leads People to Believe the Final System Will Follow
• Gives No Indication of Performance under Operational Conditions
• Leads the Project Team to Forgo Proper Testing and Documentation
END-USER DEVELOPMENT
• End-user development (EUD) is the collection of techniques and
methodologies for the creation of non-trivial software applications
by end users
• A successful strategy relies on two keys:
1. Knowing which applications are good candidates
2. Providing end users with the right tools

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy