1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?
-
Upload
brandon-neal -
Category
Documents
-
view
212 -
download
0
Transcript of 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?
![Page 1: 1 CS145 Lecture 26 What’s next?. 2 What software questions do we study? Where is software headed?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/1.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/2.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/3.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/4.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/5.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/6.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/7.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/8.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/9.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/10.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/11.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/12.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/13.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/14.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022083009/5697bfbf1a28abf838ca33fd/html5/thumbnails/15.jpg)
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?