Top Banner
What is software? What is software? Software is a set of items or Software is a set of items or objects that form a objects that form a configuration that includes: configuration that includes: Programs Programs Documents Documents Data Data
22

What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Dec 28, 2015

Download

Documents

Pamela Potter
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: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

What is software?What is software?

Software is a set of items or objects Software is a set of items or objects that form a configuration that that form a configuration that includes:includes:– ProgramsPrograms– DocumentsDocuments– DataData

Page 2: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Software EngineeringSoftware Engineering

IEEE definition:IEEE definition:– 1. The application of a systematic, 1. The application of a systematic,

disciplined, quantifiable approach to the disciplined, quantifiable approach to the development, operation, and development, operation, and maintenance of software; that is, the maintenance of software; that is, the application of engineering to software.application of engineering to software.

– 2. The study of approaches as in (1).2. The study of approaches as in (1).

Page 3: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Characteristics of softwareCharacteristics of software

Software is engineeredSoftware is engineered

Software doesn’t wear outSoftware doesn’t wear out

Software is complexSoftware is complex

Software is like an aging factorySoftware is like an aging factory

Page 4: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Types of softwareTypes of software

System softwareSystem software

Real-time softwareReal-time software

Business softwareBusiness software

Engineering/scientific softwareEngineering/scientific software

Embedded softwareEmbedded software

PC softwarePC software

AI softwareAI software

Page 5: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Software challengesSoftware challenges

How do produce quality software?How do produce quality software?

How do we meet growing demand?How do we meet growing demand?

How do we keep up with How do we keep up with maintenance costs?maintenance costs?

How do we avoid disastrous delays?How do we avoid disastrous delays?

How do we institute new standards, How do we institute new standards, technologies, etc.?technologies, etc.?

Page 6: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Some important termsSome important terms

Analysis vs. synthesis of a problemAnalysis vs. synthesis of a problem

Method or technique: procedure for Method or technique: procedure for producing a resultproducing a result

Tool: instrument or automated Tool: instrument or automated system for accomplishing somethingsystem for accomplishing something

Procedure: recipe for combination of Procedure: recipe for combination of tools and techniquestools and techniques

Paradigm: style of doing somethingParadigm: style of doing something

Page 7: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Chapter 1 ReadingChapter 1 Reading

Sections 1.1-1.8 - pages 1 – 35Sections 1.1-1.8 - pages 1 – 35

Page 8: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Staff:Staff:

Kurt BrownKurt Brown

Farooq HafeezFarooq Hafeez

Mark BartonMark Barton

Page 9: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Alien ProfessorsAlien Professors©©

Page 10: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Why We Chose This Project…Why We Chose This Project…

We wanted something that was We wanted something that was interesting to usinteresting to us

We wanted a challenging project that We wanted a challenging project that would help us learn the software would help us learn the software development cycledevelopment cycle

We wanted to create a game that We wanted to create a game that other people could enjoy playingother people could enjoy playing

Page 11: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Lessons LearnedLessons LearnedThings are easier if you have a Things are easier if you have a working knowledge of it ahead of working knowledge of it ahead of timetime

Having group members with different Having group members with different specialties makes the development specialties makes the development process flow betterprocess flow better

Having a shared vision is extremely Having a shared vision is extremely importantimportant

Page 12: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Why was this so interesting?Why was this so interesting?

Various aspects of the projectVarious aspects of the project– Graphical designGraphical design– Algorithm designAlgorithm design– ImplementationImplementation– Constant incremental improvementConstant incremental improvement– Team testing and evaluationTeam testing and evaluation– User testingUser testing– Receiving feedback from othersReceiving feedback from others

Page 13: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Lessons LearnedLessons Learned

Get started earlyGet started early

Set realistic goalsSet realistic goals

Find another way to do itFind another way to do it

More time for testingMore time for testing

Page 14: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Quality terminologyQuality terminology

Error: human mistakeError: human mistake

Fault: result of mistake, evidenced in Fault: result of mistake, evidenced in some development or maintenance some development or maintenance productproduct

Failure: departure from the system’s Failure: departure from the system’s required behaviorrequired behavior

Page 15: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Garvin’s perspectives on Garvin’s perspectives on qualityquality

Transcendental view: something we Transcendental view: something we recognize but can’t definerecognize but can’t define

User view: fitness for purposeUser view: fitness for purpose

Manufacturing view: conformance to Manufacturing view: conformance to specificationspecification

Product view: tied to inherent product Product view: tied to inherent product characteristicscharacteristics

Value-based view: depends on Value-based view: depends on customer’s willingness to paycustomer’s willingness to pay

Page 16: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Systems approachSystems approach

Identify activities and objects.Identify activities and objects.

Define the system boundary.Define the system boundary.

Consider nested systems, system Consider nested systems, system interrelationships.interrelationships.– A system is a purposeful set of A system is a purposeful set of

interconnected components to solve a interconnected components to solve a formal problem where each component formal problem where each component can also be understood as a system. - can also be understood as a system. - Dr. LongeneckerDr. Longenecker

Page 17: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Building a house vs. softwareBuilding a house vs. softwareDetermining and analyzing Determining and analyzing requirementsrequirements

Producing and documenting the Producing and documenting the designdesign

Detailed specificationsDetailed specifications

Identifying and designing Identifying and designing componentscomponents

Building componentsBuilding components

Testing componentsTesting components

Integrating componentsIntegrating components

Making final modificationsMaking final modifications

Continuing maintenanceContinuing maintenance

Requirements Requirements analysis and definitionanalysis and definition

System designSystem design

Program designProgram design

Writing programsWriting programs

Unit testingUnit testing

Integration testingIntegration testing

System testingSystem testing

System deliverySystem delivery

MaintenanceMaintenance

Page 18: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Key factors altering software Key factors altering software engineering practice engineering practice

(Wasserman)(Wasserman)criticality of time-to-market for commercial criticality of time-to-market for commercial productsproductsshifts in economics of computing (lower HW, shifts in economics of computing (lower HW, higher development/maintenance costs)higher development/maintenance costs)availability of powerful desktop computingavailability of powerful desktop computingextensive local- and wide-area networkingextensive local- and wide-area networkingavailability and adoption of OO technologyavailability and adoption of OO technologygraphical user interfacesgraphical user interfacesunpredictability of waterfall model of unpredictability of waterfall model of developmentdevelopment

Page 19: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Wasserman’s basis for good Wasserman’s basis for good software engineeringsoftware engineering

AbstractionAbstractionAnalysis and design methods and Analysis and design methods and notationsnotationsUser interface prototypingUser interface prototypingSoftware architectureSoftware architectureSoftware processSoftware processReuseReuseMeasurementMeasurementTools and integrated environmentsTools and integrated environments

Page 20: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Information systems exampleInformation systems examplePiccadilly Television: regional British TV Piccadilly Television: regional British TV franchisefranchise

Advertising constraints:Advertising constraints:– alcohol adverts only after 9pmalcohol adverts only after 9pm– if actor in show, no same actor in advert within 45 if actor in show, no same actor in advert within 45

minutesminutes– if advert in class of product, no other advert in if advert in class of product, no other advert in

same class during same breaksame class during same break– rates dependent on amount of time boughtrates dependent on amount of time bought

Software to determine, track advertising timeSoftware to determine, track advertising time

Page 21: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Real-time exampleReal-time example

Ariane-5 rocket, from European Ariane-5 rocket, from European Space AgencySpace Agency

June 4, 1996: functioned well for 40 June 4, 1996: functioned well for 40 seconds, then veered off course and seconds, then veered off course and was destroyedwas destroyed

Contained four satellites: cost was Contained four satellites: cost was $500 million$500 million

Reused code from Ariane-4 rocketReused code from Ariane-4 rocket

Page 22: What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.

Ariane-5 definition of qualityAriane-5 definition of quality

From Lions report:From Lions report:– “… “… demonstrated the high quality of the demonstrated the high quality of the

Ariane-5 programme as regards Ariane-5 programme as regards engineering work in general and engineering work in general and completeness and traceability of completeness and traceability of documents.”documents.”

– “… “… the supplier of the SRI … was only the supplier of the SRI … was only following the specification given to it. … following the specification given to it. … The exception which occurred was not The exception which occurred was not due to random failure but a design error.”due to random failure but a design error.”