+ All Categories
Home > Documents > What is software? Software is a set of items or objects that form a configuration that includes:...

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

Date post: 28-Dec-2015
Category:
Upload: pamela-potter
View: 217 times
Download: 1 times
Share this document with a friend
Popular Tags:
22
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
Transcript

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

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).

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

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

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.?

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

Chapter 1 ReadingChapter 1 Reading

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

Staff:Staff:

Kurt BrownKurt Brown

Farooq HafeezFarooq Hafeez

Mark BartonMark Barton

Alien ProfessorsAlien Professors©©

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

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

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

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

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

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

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

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

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

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

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

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

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.”


Recommended