SDLC Powerpoint - Humber College

Download Report

Transcript SDLC Powerpoint - Humber College

The IT Story Begins With…
Jacquard Loom - 1801
And Continues with…
Difference Engine:
1822-65 (Babbage
and Lovelace)
And then …
+
ITR (1889-1914) + CTR (1911-1914) => IBM
The Systems Development Life
Cycle
Planning
Analysis
SDLC
Operational Support
Implementation
Design
The Traditional Approach
Ready
Fire
Aim
There are different approaches to
Software Development
•
•
•
•
•
•
Reverse Engineering
The Traditional Waterfall Model
Exploratory Programming
Boehm’s Spiral Model
Agile/Extreme Programming
Pattern Languages
Engineering
1.
2.
3.
4.
Specifications
Design
Construction
Test and Use
Reverse Engineering
1.
2.
3.
4.
Test and Use
Deconstruction
Document Design
Formulate
Specifications
Traditional Waterfall (Our Text)
Planning
Analysis
Operational Support
Implementation
Design
Planning
If you can keep your head about you
When all around you others are losing theirs
…..then maybe you just don’t understand
the problem!
Planning Activities
• System Request
• Preliminary Investigation
– Interviews on needs and practices
– Surveys
– Collecting forms
• Analysis of the Business Case
• Feasibility Study
Analysis Activities
•
•
•
•
•
Identify the stakeholders
Research existing practices
Research real (vs requested) needs
Requirements Modelling
Prepare Design specification
Design
• Document or Die!
• Use of specific techniques important
– Data Flow Diagrams
– UML Diagrams/Use-Case
– Database Normalization
• Prototype – a quick and dirty demo – not
production quality
Implementation
• Code (according to specifications)
• Test!
• Revise specifications as needed (go back
to previous SDLC stages if necessary)
• Installation
Operational Support
• Training
• Implement security (why wait?)
• Modifications
$90%
$10%
Software Development
Development
Maintenance
Exploratory Programming
• Hacking
• Cost effective only for
small projects
• Useful for solving
novel problems
• Risky (high failure rate)
• Fun, but hard to sell to management
Object Oriented Design
• Model using “real world” Objects
• Analyze with Use/Case Examples
• Model Systems Behaviour with UML
Spiral Model (Barry Boehm)
Agile (Extreme) Programming
•
•
•
•
Small teams
Developers work very closely with clients
Rapid turnaround of project features
Paretto’s Law: 80% of the job takes 20% of the
effort – to complete the job will take the
remaining 80%
therefore: most clients will be happy to pay for
80% functionality and balk at the extra cost of
the remaining 20% - so don’t do it.
Pattern Languages
• Applications are like
buildings
• Most projects can be
based on known
architectural patterns
• Learning the patterns that
work helps ensure future
success
Which Methodology Works?
• Different Techniques fit different situations
• The corporate culture is a major factor in
choosing an approach
• The method of development is itself a
pattern – learn to follow success.
• Don’t be too rigid – you can always fake it!
- A Rational Design Process (and how to
fake it),by Prof. David L. Parnas & Paul
Clemens, 1985
Types of Software Systems
•
•
•
•
•
•
•
Transaction Processing (TP)
Management Information Systems (MIS)
Knowledge Management Systems
User Productivity Software
Real Time Systems (RTS)
Enterprise Computing
Systems Software and Utilities
• Information Systems Integration
Transaction Processing
•
•
•
•
A. – Atomicity (All or nothing)
C. – Consistancy (the books balance)
I. - Isolation (don’t affect each other)
D. – Durability (permanent record)
Performance Measurement: TPS
(Transactions per second)
MIS
• Text also uses the term “Business Support
Systems” – MIS is more common
• MIS does not need to be real time
• Decision Support
• Data Mining/Data Warehouses
TP collects/generates data – MIS
summarizes and reports
Knowledge Management
• Expert Systems
– Interview the experts and uncover the rules they use
– usually 20-80 – relatively small #
– Applicable to small problem domains, not large
– Use of Knowledge Engines, languages such as
Prolog) – Rules + facts => Diagnosis
• Fuzzy Logic (ie: Omron, rice cooker example,
OCR)
• Content Management
– Silos of information (Ann Rockly)
– Ontologies for organizing my meaning
• Search: Altavista; Google; Lucene; HTDig
User Productivity Software
• Office Suites/Personal Software
• Groupware
Enterprise Software
• Enterprise Resource Planning (ERP)
– SAP
– Oracle Financials, PeopleSoft
– Walmart’s Inventory System
– American Airline: SABRE
• Bet the company type software (Federal
Express)
• Integrates essential company functions
Real Time Systems
• Used in process control, embedded
devices
• Specialized operating systems (QNX,
Symbian, HP/RTE) or no OS at all
• Issue is guaranteed response time – can’t
wait for paging, garbage collection
• Make sure the system is not overloaded
(in order to guarantee response time)
• Examples?
Systems Software & Utilities
•
•
•
•
•
Operating Systems
Device Drivers
Backup Software (ie: Time Machine)
Virus Protection
Programmer’s Tools
–
–
–
–
Compilers and Interpreters
IDE’s
Computer Aided Software Engineering (CASE)
Debuggers
• Performance Monitors
• Database Engines
Embedded Devices
Mashups
Transaction
Processing
Systems
Software
& Utilities
User
Productivity
Software
Integration
Enterprise
Computing
Knowledge
Management
MIS
Real
Time
Games (How to classify?)
What is the Market Place?
Rule of 4 – How IT Companies
Make Money
1.
2.
3.
4.
Product Sales
Maintenance and Support
Projects and Consulting
Training
Business to Business (B2B)
• Electronic Data
Interchange using
XML and agreed
upon standard
protocols
– Banking
– Ordering inventory
Business to Consumer
• Web Based Software
– Advertising
– Product Information
– Home Banking
• Games
• Personal Productivity
Tools
Identifying Stakeholders
And Their Needs
•
•
•
•
Top Managers
Middle Managers & Knowledge Workers
Supervisors and Team Leaders
Operational Employees
Information Needs
Long term goals
Summarized Info
CEO
Top Managers
Middle Management
short term goals
Detailed Info
Supervisors &
Team Leaders
Operational Employees
Lets not forget…
•
•
•
•
Customers
Vendors
Stockholders
Competitors (Industry Standards that have
to be met – companies often need to cooperate with the competition)
Chapter 2 –Systems Planning
Strategic Planning
• Mission Statement
– Short –briefly describes the core purpose of the
company or project or team
– Sets a direction – a “moral compass”
• Principles/Core Values
• Business Plan
– Long Term Goals
– Mid Term Goals
– Short Term Goals
Strategic Planning Question
In pursuing this project are we supporting our
mission statement, principles and goals
If not – why are we doing it?
Should we drop the project?
Should we change how we define ourselves?
Mission Statements
What is the Mission Statement of
• Toronto’s Police Force
• The Canadian Cancer Society?
• Humber College
What is your Mission Statement?
SWOT Analysis
Feasibility Study
•
•
•
•
Economic
Technical
Operational
Scheduling
Making a Business Case
• Why are we doing this project?
• What is the project about?
• How does this solution address key
business issues?
• How much? (ROI) How long? (Payback)
• Will it cause a hit in productivity?
• Risks of going ahead? Of NOT doing it?
Making a Business Case (2)
• If we don’t know where our goals
are – how do we know we’ve
arrived. How do we measure
success?
Making the Business Case
What other choices are there? (Missed
opportunities?)
Reasons for System Projects
•
•
•
•
•
Improved Service
Support for new products and services
Better performance
More information
Stronger Controls (Security)
Improving any of the “Qualities of a Good
System”
Discussion
Collecting the current position of every
vehicle in the TTC.
Internal Factors Affecting
Systems Projects
•
•
•
•
•
Strategic Plan
Management Directives
User Requests
The IT department
The weight of Existing Systems
External Factors Affecting
Systems Projects
• Technology (ie: Office 2007, Vista,
Multitouch, Wireless, RFID, the Internet,
Web 2.0)
• Suppliers - Radio Freq. ID chips (RFID) –
EPOD (Electronic Proof of Delivery, Just
In Time Management (JIT)
• Customers: CRM Software
(Customer/Supplier Relationship
Management)
More External Factors
• Competitors
• The Economy
• Government
Cost/Benefit Analysis
•
•
•
•
•
•
•
Tangible/Intangible
Direct/Indirect
Recurring/Non-Recurring
Capital
Overhead
Supplies
Personnel