23
T HE P RODUCT Muhammad Adil Raja Roaming Researchers, Inc. cbna April 19, 2015

The Product

Embed Size (px)

Citation preview

Page 1: The Product

THE PRODUCT

Muhammad Adil Raja

Roaming Researchers, Inc.

cbna

April 19, 2015

Page 2: The Product

OUTLINE

1 INTRODUCTION

2 THE EVOLVING ROLE OF SOFTWARE

3 SOFTWARE

4 SOFTWARE CRISIS

5 REFERENCES

Page 3: The Product

OUTLINE

1 INTRODUCTION

2 THE EVOLVING ROLE OF SOFTWARE

3 SOFTWARE

4 SOFTWARE CRISIS

5 REFERENCES

Page 4: The Product

OUTLINE

1 INTRODUCTION

2 THE EVOLVING ROLE OF SOFTWARE

3 SOFTWARE

4 SOFTWARE CRISIS

5 REFERENCES

Page 5: The Product

OUTLINE

1 INTRODUCTION

2 THE EVOLVING ROLE OF SOFTWARE

3 SOFTWARE

4 SOFTWARE CRISIS

5 REFERENCES

Page 6: The Product

OUTLINE

1 INTRODUCTION

2 THE EVOLVING ROLE OF SOFTWARE

3 SOFTWARE

4 SOFTWARE CRISIS

5 REFERENCES

Page 7: The Product

INTRODUCTION

SOFTWARE

Computer software has become a driving force. It is the enginethat drives business decision making. It serves as the basis formodern scientific investigation and services. It is embedded insystems of all kinds: transportation, medical, telecom- neeringproblem solving. It is a key factor that differentiates modernproducts and munications, military, industrial processes,entertainment, office products, · · · the list is almost endless.Software is virtually inescapable in a modern world. And as wemove into the twenty-first century, it will become the driver fornew advances in everything from elementary education togenetic engineering.

Page 8: The Product

A FEW FAQS ABOUT SOFTWARE I

• What is it? Computer software is the product that softwareengineers design and build. It encompasses programs thatexecute within a computer of any size and architecture,documents that encompass hard-copy and virtual forms,and data that combine numbers and text but also includesrepresentations of pictorial, video, and audio information.

• Who does it? Software engineers build it, and virtuallyeveryone in the industrialized world uses it either directly orindirectly.

• Why is it important? Because it affects nearly everyaspect of our lives and has become pervasive in ourcommerce, our culture, and our everyday activities.

Page 9: The Product

A FEW FAQS ABOUT SOFTWARE II

• What are the steps? You build computer software like youbuild any successful product, by appllying a process thatleads to a high-quality result passes programs that meetsthe needs of the people who will use the product. Youapply a software engineering approach.

• What is the work product? From the point of view of asoftware engineer, the work product is the programs,documents, and data that are computer software. But fromthe user’s viewpoint, the work product is the resultantinformation that somehow makes the user’s world better.

• How do I ensure that I’ve done it right? Attend theremainder of this course, select those ideas applicable tothe software that you build, and apply them to your work

Page 10: The Product

THE EVOLVING ROLE OF SOFTWARE

• The role software plays in our lives has dramaticallychanged over the past decades.

• Why does it take so long to get software finished?• Why are development costs so high?• Why can’t we find all the errors before we give the software

to customers?• Why do we continue to have difficulty in measuring

progress as software is being developed?

Page 11: The Product

SOFTWARE

DEFINITION

Software is (1) instructions (computer programs) that whenexecuted provide desired function and performance, (2) datastructures that enable the programs to adequately manipulateinformation, and (3) documents that describe the operation anduse of the programs.

Page 12: The Product

SOFTWARE CHARACTERISTICS

• Software is developed or engineered, it is notmanufactured in the classical sense.

• Software doesn’t “wear out”.• Although the industry is moving toward component-based

assembly, most software continues to be custom built.

Page 13: The Product

SOFTWARE APPLICATIONS I

SYSTEM SOFTWARE: System software is a collection ofprograms written to service other programs.

• Some system software process complex, butdeterminate, information structures.

• e.g., compilers, editors, and file managementutilities.

• Other systems applications process largelyindeterminate data.

• e.g., operating system components, drivers,telecommunications processors.

Page 14: The Product

SOFTWARE APPLICATIONS II

• In either case, the system software area ischaracterized by heavy interaction withcomputer hardware; heavy usage by multipleusers; concurrent operation that requiresscheduling, resource sharing, andsophisticated process management; complexdata structures; and multiple externalinterfaces.

REAL-TIME SOFTWARE: Software thatmonitors/analyzes/controls real-world events asthey occur is called real time.

Page 15: The Product

SOFTWARE APPLICATIONS III

• Elements of real-time software include a datagathering component that collects andformats information from an externalenvironment, an analysis component thattransforms information as required by theapplication, a control/output component thatresponds to the external environment, and amonitoring component that coordinates allother components so that real-time response(typically ranging from 1 millisecond to 1second) can be maintained.

BUSINESS SOFTWARE: Business information processing is thelargest single software application area.

Page 16: The Product

SOFTWARE APPLICATIONS IV

• Discrete “systems” (e.g., payroll, accountsreceivable/payable, inventory) have evolvedinto management information system (MIS)software that accesses one or more largedatabases containing business information.

• Applications in this area restructure existingdata in a way that facilitates businessoperations or management decision making.

• In addition to conventional data processingapplication, business software applicationsalso encompass interactive computing (e.g.,point-of-sale transaction processing).

ENGINEERING AND SCIENTIFIC SOFTWARE: Engineering andscientific software have been characterized by“number crunching” algorithms.

Page 17: The Product

SOFTWARE APPLICATIONS V

• Applications range from astronomy tovolcanology, from automotive stress analysisto space shuttle orbital dynamics, and frommolecular biology to automatedmanufacturing.

• However, modern applications within theengineering/scientific area are moving awayfrom conventional numerical algorithms.

• Computer-aided design, system simulation,and other interactive applications have begunto take on real-time and even system softwarecharacteristics.

EMBEDDED SOFTWARE: Intelligent products have becomecommonplace in nearly every consumer andindustrial market.

Page 18: The Product

SOFTWARE APPLICATIONS VI

• Embedded software resides in read-onlymemory and is used to control products andsystems for the consumer and industrialmarkets.

• Embedded software can perform very limitedand esoteric functions (e.g., keypad controlfor a microwave oven) or provide significantfunction and control capability (e.g., digitalfunctions in an automobile such as fuelcontrol, dashboard displays, and brakingsystems).

PERSONAL COMPUTER SOFTWARE: The personal computersoftware market has burgeoned over the past twodecades.

Page 19: The Product

SOFTWARE APPLICATIONS VII

• Word processing, spreadsheets, computergraphics, multimedia, entertainment,database management, personal andbusiness financial applications, externalnetwork, and database access are only a fewof hundreds of applications.

WEB-BASED SOFTWARE: The Web pages retrieved by abrowser are software that incorporates executableinstructions (e.g., CGI, HTML, Perl, or Java), anddata (e.g., hypertext and a variety of visual andaudio formats).

• In essence, the network becomes a massivecomputer providing an almost unlimitedsoftware resource that can be accessed byanyone with a modem.

Page 20: The Product

SOFTWARE APPLICATIONS VIII

ARTIFICIAL INTELLIGENCE SOFTWARE: Artificial intelligence (AI)software makes use of nonnumerical algorithms tosolve complex problems that are not amenable tocomputation or straightforward analysis.

• Expert systems, also called knowledge-basedsystems, pattern recognition (image andvoice), artificial neural networks, theoremproving, and game playing are representativeof applications within this category.

Page 21: The Product

SOFTWARE CRISIS

DEFINITION

Our imaginations and what the software to be able to do largelyoutstrips our capabilities.

• Software Myths.

Page 22: The Product

SUMMARY

• Software has become the key element in the evolution ofcomputer-based systems and products.

• Over the past 50 years, software has evolved from aspecialized problem solving and information analysis toolto an industry in itself.

• But early “programming” culture and history have created aset of problems that persist today.

• Software has become the limiting factor in the continuingevolution of computer-based systems.

• Software is composed of programs, data, and documents.• Each of these items comprises a configuration that is

created as part of the software engineering process.• The intent of software engineering is to provide a

framework for building software with higher quality.

Page 23: The Product

REFERENCES

• Images and content for developing these slides have beentaken from the follwoing book.

• Software Engineering: A Practitioner’s Approach, Roger S.Pressman.

• This presentation is developed using Beamer:• Pittsburgh, monarca.