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

Slides:



Advertisements
Similar presentations
Managing Software Assets. Managing Software Assets Software costs represent one of the largest information technology expenditures in most firms. Amounting.
Advertisements

SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
The Mythical Man-Month by Fred Brooks (I) Published 1975, Republished 1995 Experience managing the development of OS/360 in Central Argument –Large.
No Silver Bullet - Essence and Accident in Software Engineering By: R. Adam Mead.
DEVELOPING ENTERPRISE APPLICATIONS
Chapter 1 Assuming the Role of the Systems Analyst
Unit Five – Transforming Organizations
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Chapter 1 Assuming the Role of the Systems Analyst
SOFTWARE CRISIS SOLUTIONS? © University of LiverpoolCOMP 319slide 1.
Objectives Explain the key role of a systems analyst in business
SaaS, PaaS & TaaS By: Raza Usmani
CHAPTER 19 Building Software.
Chapter 1 The Systems Development Environment
E-Business Lecture 3 Website Development and Management Process.
Applications of Technology in Modern Accounting Jonathan Eno Christopher Parks Nathan Phillips.
Chapter 4 Computer Software.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Essence and Accident in Software Engineering By: Mike Hastings.
Lesson 1 Week01.
C2- How Businesses Use Information Systems. BMW Oracle’s USA in the 2010 America’s Cup.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 3 – 10 – 2011 College Of Computer Science and Information, Information Systems.
MCS 270 Spring 2014 Object-Oriented Software Development.
No Silver Bullet – Essence and Accident in Software Engineering.
1 No Silver Bullet Brooks rides again…. 2 Essential Difficulties What are these “essential difficulties” that Brooks is referring to? Complexity Conformity.
Chapter 10 Information Systems Analysis and Design
Information Systems Overview (COIS 20024) Lecture: Week 3 Computer Software (Information Systems Resources)
Building Information Systems & Managing Projects.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Chapter 3 Software. Learning Objectives Upon successful completion of this chapter, you will be able to: Define the term software Describe the two primary.
Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)
Application Lifecycle Management - Activities- Methodologies- Disciplines- Tools- Benefits- ALM Tools and Products 1 Application Lifecycle Management (ALM)
3/5/2009Computer systems1Introduction Computer Systems: Hardware Desktop Laptop Software Information Systems Computer-Aided Graphic Design.
Programming and Languages
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
MNP1163 (Software Construction).  SDLC and Construction Models  Construction Planning  Construction Measurement.
WEBSITE. WHAT KIND OF IMPRESSION ARE YOU LEAVING BEHIND? Do you know... 75% visitors make a judgment of your company purely on your website! 94% based.
Stand Up Comedy Project/Product Management
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
By David Sanders Title Explanation  Werewolves are quite terrifying, simply because they transform unexpectedly into horrors. To kill werewolves,
CS223: Software Engineering Lecture 16: The Agile Methodology.
11 ADM2372 Management Information Systems (MIS) Chapter 10 – Part I Systems Development Chapter 10 – Part I Systems Development.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
Chapter 1 Assuming the Role of the Systems Analyst.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
PRESENTATION ON ENTERPRISE RESOURCE PLANNING. TRAINING VENUE B-SQUARE SOLUTIONS PVT. LTD OKHLA INDUSTRIAL AREA, NEW DELHI  Set up in year 2000  Basically.
Software Development.
Web GIS: Architectural Patterns and Practices
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
Software Processes.
Informatics 43 – March 31, 2016.
In-Class Activity… Cloud Computing.
MBI 630: Systems Analysis and Design
Fereshte Shabany Moghadam
Continuous Client Side Localization
Gathering Systems Requirements
Chapter 15: Accounting and Enterprise Software
Session I Cloud Introduction Session I
Gathering Systems Requirements
Chapter 3 Software.
Presentation transcript:

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

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)

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

WHAT IS SOFTWARE?

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

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

WHAT ARE THE COSTS?

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)

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

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

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

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

WATERFALL MODEL

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

SYSTEM DESIGN

OUTPUT: SPECIFICATION

IMPLEMENTATION

VERSION CONTROL

VERSION CONTROL SYSTEMS

VERIFICATION

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

“AGILE” METHODOLOGY

“THE MYTHICAL MAN-MONTH”

NEXT CLASS: MOBILE AND LOCATION Work on G1