570 likes | 711 Views
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. +. SDLC. The Systems Development Life Cycle. The Traditional Approach. Ready Fire Aim.
E N D
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 +
SDLC The Systems Development Life Cycle
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
Specifications Design Construction Test and Use Test and Use Deconstruction Document Design Formulate Specifications Reverse Engineering Engineering
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
Maintenance Software Development Development $10% $90%
Exploratory Programming • Hacking • Cost effective only forsmall 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
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 likebuildings • Most projects can bebased on knownarchitectural patterns • Learning the patterns thatwork helps ensure futuresuccess
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
Rule of 4 – How IT Companies Make Money • 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 short term goals Detailed Info
Lets not forget… • Customers • Vendors • Stockholders • Competitors (Industry Standards that have to be met – companies often need to co-operate with the competition)
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
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?