1 cs145 lecture 26 what’s next?. 2 what software questions do we study? where is software headed?

15
1 CS145 Lecture 26 What’s next?

Upload: brandon-neal

Post on 18-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

1

CS145 Lecture 26

What’s next?

Page 2: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

2

What’s next?

• What software questions do we study?

• Where is software headed?

Page 3: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

3

What software questions do we study

• Basic Questions• System Software• Network Software• Middleware• Information Systems• Scientific Computing

• Embedded and Real-Time Systems

• Graphics• Artificial Intelligence• Software

Engineering

Page 4: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

4

Basic Questions

• Data structures for storing and representing different kinds of application data– Some kinds of structures

• Maps (map one type of object to another)• Trees, Graphs• Sets

• Analysis of Algorithms– Time and space efficiency of algorithms and data structures

• Computer Architectures– How to make computers work better with various kinds of

software• Better = Faster, Cheaper, Less Power Consumption, etc.

Page 5: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

5

System Software

• System Software: Software that supports other kinds of software– As opposed to application software: Software that

faces the user

• Some kinds of system software:– Operating systems– Programming Languages

• Compilers and Virtual Machines

– Database Management Systems

Page 6: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

6

Network Software

• Supports communication between systems and software– Definition and Implementation of communication

protocols

• Interesting protocols– TCP/IP– HTTP (as opposed to HTML)– FTP– SSL

Page 7: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

7

Middleware

• Software that sits between systems and applications– Typically systems type software with more of an

application focus

• Some examples– Software for integrating different applications– Model Driven Architecture

• Build your integration software by drawing the right kinds of diagrams

Page 8: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

8

Information Systems

• Usually systems that support the operation of a business– More generally: Systems that store and manipulate

business kinds of information

• Some interesting areas:– Data Base (the organization of data, not the underlying

software)– Business applications

• ERP, CRS, …

– Business rules• Just describe the rules and the necessary software is

automatically generated

Page 9: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

9

Scientific Computing

• Large numeric computations for science and engineering applications

• Issues– Efficient algorithms for large computations– Efficient coordination of large computing resources

• Some examples– Predict the weather or climate– Wind tunnel– Simulate nuclear weapons– Protein folding

Page 10: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

10

Embedded and Real-Time Systems

• Control operation of machines, equipment, etc.

• Some issues– Operating systems supporting real-time (deadline)

processing• Examples

– Fly an airplane– Drive a car– Run a factory– Record a television program– Run the graphics card in your computer

Page 11: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

11

Graphics

• Generate realistic graphics (pictures, video) from digital descriptions

• Issues– Understanding how light interacts with physical

objects– Efficient algorithms

• Examples– Shrek, Gollum, Polar Express– Cleaning up old movies

Page 12: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

12

Artificial Intelligence

• Software and systems that behaves as if they were intelligent

• This is a large area with many subareas:– Rule based systems– Neural Network– Natural language processing– Evolutionary algorithms– Machine Learning– Robotics– Game playing– Proving Software Correct

Page 13: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

13

Software Engineering

• How to we go about building software?• Areas of interest

– Requirements, Requirements Management– Architecture and Design– Testing– Software Methodology and Process– Diagramming Software (e.g. UML)– Managing Building Software– Costing and Scheduling of Software Development

Page 14: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

14

Where is software headed?

• How good is your crystal ball?• Programming languages and systems

– Try to make software developers more efficient

• Artificial Intelligence– More “intelligent” systems

• Business applications– Standard “easily tailorable” applications

Page 15: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?

15

Where is software headed? (continued)

• All areas– Make better use of increasing processing

power and storage capacity

• Software Engineering– “Software is always late and over budget”– Can we fix this?