Presentation is loading. Please wait.

Presentation is loading. Please wait.

INFORMATION TECHNOLOGY IN BUSINESS AND SOCIETY SESSION 20 – HOW SOFTWARE IS MADE SEAN J. TAYLOR.

Similar presentations


Presentation on theme: "INFORMATION TECHNOLOGY IN BUSINESS AND SOCIETY SESSION 20 – HOW SOFTWARE IS MADE SEAN J. TAYLOR."— Presentation transcript:

1 INFORMATION TECHNOLOGY IN BUSINESS AND SOCIETY SESSION 20 – HOW SOFTWARE IS MADE SEAN J. TAYLOR

2 ADMINISTRATIVIA Assignment 4 solution is posted Group Project 1 is posted Site traffic and websites Office hours moved: Tuesday 3:30 – 5:30 (KMC 8-191) Office hours next week: Friday 3:30 – 5:30 (KMC 8-191)

3 LEARNING OBJECTIVES Explain why software engineering is difficult. Understand the process by which software product are created.

4 WHAT IS SOFTWARE?

5 INTERNAL SYSTEMS Accounting/billing Trading systems Human resources Customer relationship management Data mining Product/inventory management MANY MORE

6 BUILD OR BUY? WHY BUY? Time to use External support No risk of project failure Upgrades Network effects WHY BUILD? Customized, all requirements met

7 WHAT ARE THE COSTS?

8 SAAS: SOFTWARE AS A SERVICE software and associated data are centrally hosted on the cloud typically accessed by users using a thin client via a web browser $10B in sales in 2010 accounting, customer relationship management (CRM) enterprise resource planning (ERP), invoicing human resource management (HRM), content management (CM)

9 ESSENTIAL DIFFICULTIES 1.Complexity Hard to manage large teams Hard to understand system, side-effects 2.Conformity Software is expected to meet all users’ needs 3.Changeability Pressure/ability to change 4.Invisibility No way to see it all at once, visually

10 PAST BREAKTHROUGHS High-level languages Solve common problems and allow programmers to think less about how computer executes instructions (time-sharing) Unified programming environments Standardize how programmers work, make key decisions in advance

11 HOPES FOR SILVER Even higher-level languages: more expressive Object-oriented programming: re-usability of components Artificial intelligence: teach computers to do what programmers do Expert systems: use “rules” to improve development “Automatic” programming: generate a program from a problem Graphical programming: a visual metaphor for the program Program verification: find bugs before users do Environments and tools: reduce errors and streamline workflow

12 METHODOLOGIES Structure imposed on how software is developed. 1.Waterfall Model 2.Agile Methodology 3.Many more: RAD, TDD, Spiral

13 WATERFALL MODEL

14 “THE HARDEST SINGLE PART OF BUILDING A SOFTWARE SYSTEM IS DECIDING PRECISELY WHAT TO BUILD.” -- BROOKS REQUIREMENTS

15

16 SYSTEM DESIGN

17 OUTPUT: SPECIFICATION

18 IMPLEMENTATION

19

20

21 VERSION CONTROL

22 VERSION CONTROL SYSTEMS

23

24

25 VERIFICATION

26

27 MAINTENANCE 1.Add new features 2.Fix bugs as they come up 3.Improve performance 4.Scale to more users/data

28 “AGILE” METHODOLOGY

29 “THE MYTHICAL MAN-MONTH”

30 NEXT CLASS: MOBILE AND LOCATION Work on G1


Download ppt "INFORMATION TECHNOLOGY IN BUSINESS AND SOCIETY SESSION 20 – HOW SOFTWARE IS MADE SEAN J. TAYLOR."

Similar presentations


Ads by Google