Download presentation
Presentation is loading. Please wait.
Published byBrandon Neal Modified over 9 years ago
1
1 CS145 Lecture 26 What’s next?
2
2 What software questions do we study? Where is software headed?
3
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
4
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.
5
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
6
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
7
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
8
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
9
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
10
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
11
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
12
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
13
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
14
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
15
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?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.