Top Banner
CS 292: Beyond the One Way Web Matthew Jett Hall, Spring 2008 http://beyondtheonewayweb.wordpress.com
36

Week 4 Software Development In The 21st Century

Nov 29, 2014

Download

Education

Matthew Hall

Course lecture for Week 4
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Week 4     Software  Development In The 21st  Century

CS 292: Beyond the One Way Web

Matthew Jett Hall, Spring 2008http://beyondtheonewayweb.wordpress.com

Page 2: Week 4     Software  Development In The 21st  Century

Chapter 3 Summary Key Messages Software Development: Process & Approach

Methodologies Tools and Techniques CMM and ITIL Constructing measures of efficiency

Staff Sourcing Models In-Source Out-Source Offshoring / Labor Arbitrage Multi-Source

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 2

Page 3: Week 4     Software  Development In The 21st  Century

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 3

Page 4: Week 4     Software  Development In The 21st  Century

CASE tools make developing code more efficient

Process and technique increases organizational effectiveness

Professional Practices make the individual coder more effective

How you define and measure efficiency matters

Then: Single coder on an islandNow: Legions of coders on a single

land massCS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 4

Page 5: Week 4     Software  Development In The 21st  Century

Art or Engineering? Procedural or Object Methodologies Tools and Techniques CMM and ITIL Constructing measures of efficiency

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 5

Page 6: Week 4     Software  Development In The 21st  Century

PROCEDURAL

Single point of entry Sequenced Subroutine Single point of exit

OBJECT

Event Driven Stimulus-Response No single point of

entry No single point of exit

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 6

Page 7: Week 4     Software  Development In The 21st  Century

Methodology A procedure by which a result is

achieved Used to organize labor activity Used to achieve an efficient outcome /

resultClassic Waterfall Iterative WaterfallXP

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 7

Page 8: Week 4     Software  Development In The 21st  Century

Process Steps Analyze Requirements Design Implement Integrate Test Maintain

Focus is on the big up front design

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 8

Page 9: Week 4     Software  Development In The 21st  Century

Rapid, light weightDeveloped to address

Shortcomings of waterfall / BUFD Fluid requirements Business Focus Small teams Pair programming Test driven coding

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 9

Page 10: Week 4     Software  Development In The 21st  Century

Language(s)CASECode and Version ManagementBug TrackingEstimation and Project ManagementProfessional Coding Practices

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 10

Page 11: Week 4     Software  Development In The 21st  Century

“    d. Computers. Any of numerous systems of precisely defined symbols and rules for using them that have been devised for writing programs or representing instructions and data. “

“language, n." The Oxford English Dictionary. 2nd ed. 1989. OED Online. Oxford University Press.

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 11

Page 12: Week 4     Software  Development In The 21st  Century

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 12

Page 13: Week 4     Software  Development In The 21st  Century

Data ModelingCode GenerationEditors IDEs

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 13

Page 14: Week 4     Software  Development In The 21st  Century

Technique to reduce data duplication in tables

Greater normalization, greater up front design

3NF: Third Normal Form Many joins Lot of SQL Statements Thoughtful design

Visualization helpsCS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 14

Page 15: Week 4     Software  Development In The 21st  Century

Create a visual model Show interplay between objects Generate code Facilitates data normalization

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 15

Page 16: Week 4     Software  Development In The 21st  Century

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 16

Page 17: Week 4     Software  Development In The 21st  Century

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 17

Page 18: Week 4     Software  Development In The 21st  Century

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 18

Page 19: Week 4     Software  Development In The 21st  Century

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 19

Page 20: Week 4     Software  Development In The 21st  Century

Carnegie Mellon: SEIMeasure of repeatable code practiceLevels

1 Initial 2 Repeatable 3 Defined 4 Managed 5 Optimized

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 20

Page 21: Week 4     Software  Development In The 21st  Century

“ITIL is the only consistent and comprehensive documentation of best practice for IT Service Management.” Service Support Service Desk Problem and Change Management Incident Management Asset Management Configuration Management Service Delivery ITIL is a Registered Trade Mark of the Office of

Government Commerce in the United Kingdom and other countries

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 21

Page 22: Week 4     Software  Development In The 21st  Century

Costing and Estimation Line Counting Function Points Classes / Functions Elapsed and Staff Time Cost per labor and equipment

Constructive Costing Model (COCOMO)

Example ToolCS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 22

Page 23: Week 4     Software  Development In The 21st  Century

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 23

Page 24: Week 4     Software  Development In The 21st  Century

Barry Boehm: Software Engineering Economics , 1981

Computes T= FTE Years of Effort SLOC = Source Lines of Code Based upon attribute ratings▪ Product▪ Hardware▪ Personnel▪ Project

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 24

Page 25: Week 4     Software  Development In The 21st  Century

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 25

Page 26: Week 4     Software  Development In The 21st  Century

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 26

Page 27: Week 4     Software  Development In The 21st  Century

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 27

Page 28: Week 4     Software  Development In The 21st  Century

Individual effort matters

Internal Code Documentation Code readability Coding standards Consistency Automated documents

Thoughtful data typing

Hungarian Notation

Shared standards facilitates Intergenerational transfer team coding

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 28

Page 29: Week 4     Software  Development In The 21st  Century

In-Source Out-Source Business Process Outsourcing Off-Shoring / Labor Arbitrage Multi-Source

“The future of outsourcing is to take the work from any part of the world and do it any part of the world” A. Vemuri, Infosys SVP, New York Times, Sept. 25, 2007.

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 29

Page 30: Week 4     Software  Development In The 21st  Century

Check the class playlist

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 30

Page 31: Week 4     Software  Development In The 21st  Century

United States GDP: $13.86 trillion (2007 est.) 301,139,947 (July 2007 est.) English as a standard language

India GDP $2.965 trillion (2007

est.) 1,129,866,154 (July 2007

est.) Hindi Official Language English as a moderating

standard “middleware” there are 14 other official

languages CIA World Factbook

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 31

Page 32: Week 4     Software  Development In The 21st  Century

60 Minutes Video – Leslie Stahl on IITNehru -- built it for IndiaDuring IT boom, 1 in 6 Millionaires in

Silicon Valley were IIT graduatesAdmissions

200,000 apply, about 3,000 get in Only two attempts in lifetime

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 32

Page 33: Week 4     Software  Development In The 21st  Century

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 33

Page 34: Week 4     Software  Development In The 21st  Century

Information TechnologyCall centersData managementEngineering servicesHealthcare serviceFinancial servicesDigital imagingResearch & analysis

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 34

Page 35: Week 4     Software  Development In The 21st  Century

CulturalLinguisticTime ZoneScheduling

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 35

Page 36: Week 4     Software  Development In The 21st  Century

Wharton School of Business taught me….

ShirkingPoaching

AndOpportunistic Renegotiation

CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 36