Software PDF
Document Details
Tags
Summary
This document discusses software, including its components, programs, instructions, and how it works. It covers topics such as source code, compilers, interpreters, and the execution of programs. The document also explains the different types of operating systems and their roles in managing the computer. Sections of this document are formatted for clear presentation of complex topics.
Full Transcript
ФАКУЛТЕТ ЗА ЕЛЕКТРОТЕХНИКА И ИНФОРМАЦИСКИ ТЕХНОЛОГИИ FACULTY OF COMPUTER SCIENCE AND ENGINEERING Software ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО What is software? ◼ An organised collection of computer programs and data that provide instructions / guidelines the...
ФАКУЛТЕТ ЗА ЕЛЕКТРОТЕХНИКА И ИНФОРМАЦИСКИ ТЕХНОЛОГИИ FACULTY OF COMPUTER SCIENCE AND ENGINEERING Software ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО What is software? ◼ An organised collection of computer programs and data that provide instructions / guidelines the computer understands ◼ The term was first used by John Wilder Tukey in 1958 ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Programs and instructions ◼ The machine code (or machine language) defines a set of individual instructions executed by a CPU ◼ Each machine code instruction is extremely primitive Example: add two numbers, compare two numbers... ◼ When stored, each instruction takes up just a few bytes ◼ A CPU can execute 2 billion operations per second, "operations" there refers to these simple machine code instructions. ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО What is a Program? What is Running? ◼ "Program" e.g. Firefox, millions of simple machine code instructions Instructions, like grains of sand making up sculpture ◼ Firefox.exe contains bytes that are in fact the instructions in the machine code (.exe is a Windows convention) Example: if Firefox.exe has 80 MB and every single instruction is 4B long, Firefox consists of 20 million instructions ◼ Example: to run printf(“Hello\n”), it is expanded to about 10 machine code instructions ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО #include Compiler Source code int main() gcc -o text.exe test.c { objdump -D text.exe printf(“Hello”); return 0; } Machine code 00401318 : 401318: 55 push %ebp 401319: 89 e5 mov %esp,%ebp 40131b: 83 e4 f0 and $0xfffffff0,%esp 40131e: 83 ec 10 sub $0x10,%esp 401321: e8 0a 04 00 00 call 401730 401326: c7 04 24 24 30 40 00 movl $0x403024,(%esp) 40132d: e8 3a 06 00 00 call 40196c 401332: b8 00 00 00 00 mov $0x0,%eax 401337: c9 leave 401338: c3 ret 401339: 90 nop 40133a: 90 nop 40133b: 90 nop... 0040196c : 40196c: ff 25 18 51 40 00 jmp *0x405118 401972: 90 nop 401973: 90 nop ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Double Click a Program to Run ◼ Double click Firefox.exe to Run The instruction bytes are copied up into RAM The CPU is directed to start running at the first instruction (Fetch => Decode => Execute cycle) 1. Write the program RAM Source code CPU instruction 1 instruction 2 4. Start CPU running instruction 3 those instructions instruction 4... 3. Copy instructions to RAM Disk instruction 1 Compiler instruction 2 to be instruction 3 explained later instruction 4 2. Compile... Firefox.exe ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Source code ◼ Programmer writes "source code" of a program in a high level language (C++) ◼ "Compiler" looks at the source code ◼ Usually, programmers keep the source code and distribute the program (example: test.exe) in working form ◼ Does not work backwards -- having the.exe, you cannot recover the source code (well) ◼ To add feature or fix a bug, ideally you want the source code Add a feature in the source code, then run the compiler again to make a new version of the.exe ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Open source software ◼ Having the.exe allows one to run the program ◼ Running the.exe can happen later, and is a separate step ◼ Proprietary software is a closed source software ◼ With closed source software, the source code is not shared with the public for anyone to look at or make changes to ◼ "Open Source" refers to software where the program includes access to its source code, and a license where the user can make their own modifications ◼ Licenses include a requirement that improvements to the source code be made available back to the community ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Software division ◼ System (or systems) software Control programs Operating system Utility software ◼ Application software ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Control programs ◼ Device drivers and device firmware that provide basic functionality to operate and control the hardware connected to or built into the computer BIOS - Basic Input/Output System ◼ Stored in the ROM ◼ Basic functionalities: To operate and control the hardware To process all I/O operations ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО BIOS ◼ BIOS - Basic Input/Output System ◼ The term Basic Input Output System was invented by Gary Kildall in the CP/M operating system (1976) ◼ BIOS software is a firmware software and is the first software run by a PC when powered on ◼ BIOS is stored on a non-volatile ROM chip on the motherboard (it preserves its state after the computer is turned off) ◼ Specially designed to work on any computer software with an appropriate interface for different devices that make up the computer system ◼ BIOS can be overwriten without removing the motherboard that allows easy upgrade ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО BIOS UI ◼ A modern BIOS has a menu-based user interface (UI) accessed by pressing a certain key on the keyboard when the PC starts ◼ In the BIOS UI, a user can: configure hardware set the system clock enable or disable system components select which devices are potential boot devices set various password prompts... ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО BIOS functions ◼ First BIOS function is power-on self-test (POST) Identifies, organizes, and selects which devices are available for booting: processor, RAM, graphic card, keyboard, mouse, hard disk, optical disk and other hardware BIOS contains a small library of basic functions to control I/O operations of peripheral devices ◼ BIOS locates boot loader Boot loader is a software stored on the boot device, such as the hard disk or CD/DVD BIOS reads and executes boot loader and sends the control to computer This process is known as booting, abbreviated from bootstrapping ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Operating system ◼ Compulsory for every computer ◼ Operating system is a software collection that: manages the hardware enables communication between users and the hardware provides services to application programs and coordinates their execution ◼ According to How Stuff Works, without the operating system, a computer is useless because „it provides a stable, consistent way for applications to deal with the hardware without having to know all the details of the hardware.“ ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Types of operating systems (1) ◼ Real-time operating system (RTOS) Used to control machinery, scientific instruments and industrial systems Limited user interface capability A particular operation is executed in precisely the same amount of time, every time it occurs ◼ Single-user, single task One user can effectively do one thing at a time ◼ Single-user, multi-tasking Used on desktops and laptop computers A single user has several programs in operation at the same time (example: simultaneous writing of a document, listening to music, downloading of a file and printing a document on a printer) ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Types of operating systems (2) ◼ Multi-user Many different users take advantage of the computer's resources simultaneously Unix, VMS and mainframe operating systems such as MVS are typical multi-user operating systems ◼ Distributed Manage a group of independent computers making them appear to be a single computer Distributed systems ◼ Embedded Designed to be used as embedded computer systems to operate on small machines like PDAs with less autonomy Able to operate with a limited number of resources, very compact and extremely efficient by design ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Operating system distributions ◼ Operating systems for personal computers Windows 10, Windows 11, Ubuntu, Mac OS X ◼ Operating systems for server platforms FreeBSD, Solaris, Windows Server 2022 ◼ Operating systems for mobile devices Android, Windows Phone, iOS ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Overview of operating systems Company Previous versions Logo Current version Microsoft Windows 1.0, Windows 3.1, Windows NTx, Windows 11, Windows 95, Windows 98, Windows 2000, Windows Server Windows XP, Windows Server 2003, 2022 Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, Windows Phone, Windows 10, Windows Server 2016 Apple Inc. Apple DOS, Lisa OS, Mac OS X, macOS MAC OS 14, iOS 17 Server, iOS x Google Google Chrome OS, Chromium OS, Android 13 Tiramisu, Android, Wear OS, Google TV, Chromecast ChromeOS 109 Desktop Oracle SunOS, Solaris Oracle Solaris 11.4 SRU61 Canonical Ubuntu Ubuntu 12.10 Ltd. / Ubuntu Foundation Red Hat Red Hat Red Hat Open SUSE OpenSUSE OpenSUSE Project ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Operating system functions ◼ The operating system is the main “program” that manages all computer operations: Allocates / assigns CPU time and memory to programs Provides an interface between programs / users and hardware devices ◼ Operating system provides a consistent application interface that enables running and execution of other applications Application are usually written for a specific operating system (Java applications are platform independent) The selection of operating system is connected to application that will run on it ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Memory storage and management ◼ Memory management Each process must have enough memory in which to execute, and it can neither run into the memory space of another process nor be run into by another process. The different types of memory in the system must be used properly so that each process can run most effectively. ◼ Different memory types Different levels of memory organization ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Other OS features (1) ◼ User interface and management of I/O operations User interface: enables user to access and manage the computer system Command line interface / console user interface: the user issues commands to the program in the form of successive lines of text (command lines) Graphical user interface (GUI): allows users to interact with electronic devices through graphical icons and visual indicators ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Other OS features (2) ◼ Hardware independent OS Application program interface (API) API – interface between application software and operating system ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Other OS features (3) ◼ Task execution Multitasking – multiple tasks are performed during the same period of time Multithreading – execution of multiple tasks with hardware support to efficiently execute multiple threads ◼ the threads have to share the resources of a single core Multiprocessing – the use of two or more (CPUs) within a single computer system Time-sharing – sharing of a computing resource among many users by means of multiprogramming and multi- tasking Scalability – capability to simultaneously handle several concurrent users ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Other OS features (4) ◼ Networking capability A network operating system (NOS) is an operating system that supports a network ◼ Accessing system resources Protection against unauthorized access User names and passwords ◼ File management Manipulation of documents and data in files on a computer ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Utility software ◼ Utility software is a system software designed to help analyze, configure, optimize or maintain a computer ◼ Basic features Facilitate the functioning of operating systems Configure computer functioning Enable the use of programming languages ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Utility software categories ◼ Tools for managing hardware and monitoring system resources ◼ Anti-virus programs to detect and protect against viruses ◼ Tools for data compression ◼ Tools for connecting to the Internet and monitoring the Internet traffic ◼ Tools for computer maintainance ◼ Document protection, compression and management ◼ Search through files ◼ File managers ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Utility software types ◼ For software developers the most important is programming software / programming tools ◼ According to most common software divisions, programming tools are a subtype of system software ◼ Alternative software division System software Application software Programming tools ◼ Programming tool (software development tool) is a program to create, debug, maintain, or otherwise support other programs and application ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Programming software ◼ Programming languages ◼ Programming tools ◼ Application programming interface (API) ◼ Source code editors ◼ Compilers ◼ Compiler optimization ◼ Interpreters ◼ Parsing ◼ Linkers ◼ Assembler ◼ Debuggers ◼ Integrated development environments (IDE) ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Programming languages ◼ A programming language is a formal language designed to communicate instructions to a machine, particularly a computer ◼ Programming languages are precisely defined system of rules for describing the tasks of computer written in a form understandable to the computer and programmer ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Division of programming languages ◼ Division aspects: Generations of programming languages Languages with common and special purpose Imperative, procedural and declarative languages ◼ Imperative languages - describes how to take actions ◼ Procedural languages - describes how to obtain the results ◼ Declarative languages - expresses the logic of a computation without describing its control flow ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Division of programming languages Paradigm Languages Imperative/Procedural C, Fortran, COBOL, Pascal Functional Haskell, Lisp, Scala, F# Logical Prolog, Mercury, Datalog Object-Oriented Java, C++, Python, Ruby, Smalltalk ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Compiler ◼ Compiler is a computer program (or set of multiple programs) that transforms / translates the source code into another computer language called an object code that usually has a binary form ◼ The term usually refers to compiler programs that transform source code written in a programming language of high-level language into machine language or assembly language, i.e. in a low-level language ◼ The compiler usually transforms the source code into an executable version of the program ◼ Cross-compailer - a compiler capable of creating executable code for a platform other than the one on which the compiler is running ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Decompilers and source-to-source compilers ◼ Decompiler is a computer program that performs the reverse operation, i.e. it translates program code at a relatively low level of abstraction into a form having a higher level of abstraction Example: Java Decompiler can take (.class) file and reconstruct the source (.java) file ◼ A source-to-source compiler (language translator / language converter) is a type of compiler that takes the source code of a programming language as its input and outputs the source code into another programming language ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Interpreter ◼ An interpreter is a computer program that directly executes instructions written in a programming or scripting language, without previously batch-compiling them into machine language Example: Web browsers include Javascript interpreter ◼ Compilers Vs. interpreters Compiled code usually executes faster Languages that support interpreters often have developer friendly features (strong typing Vs. weak typing) ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Linker ◼ Software is usually far too big and complex to be written in a single file Differentparts written by different developers Uses function from standard libraries Uses functions and software parts from different software ◼ Llinkers (link editors or binders) are computer programs that takes one or more object files generated by a compiler and combines them into a single executable program ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Debugger ◼ Bugs that occur during compilation and interpretation due to incorrect syntax ◼ Logical errors that occur during program execution ◼ A debugger (debugging tool) is a computer program that is used to test and debug logical mistakes ◼ Allows monitoring of the execution of the program step by step ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Integrated (or, interactive) development environment (IDE) ◼ Integrated development environment consists of several programs that facilitate the overall process of developing a program Text editor Compiler Debugger Integrator of library functions Linker ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Application software ◼ Enables users to perform certain tasks or to solve actual problems Programs that perform tasks visible to user ◼ Intuitive user friendly interface ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Application software classification Applicative software Proprietary Off-the-shelf software software In-house Contract User Standard developed software packages package In-house Contract customized software ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Proprietary (Application) Software ◼ Application software intended to solve a specific and unique problem / task Special purpose application Focused software ◼ Developed in the company using its own resources (in-house) or using an outsourcing software company under contract ◼ Advantages Software usually fulfils user needs Enables flexibility during software inspection and modification Offers better control of the results ◼ Disadvantages Closed source software Long development and extensive use of resources => expensive Increased risks of features and performance ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Off-the-shelf Application Software ◼ Purchased or rented by a software developing company (standard package), it can additionally be tailored to fulfill specific company needs (user packages) General purpose application software Function-specific application software ◼ Advantages Lower initial price Lower risk that the software will not succeed Well tested software of higher quality with few bugs ◼ Disadvantages Users pay for functionalities they will never use Software may lack some important functionalities users need May not fulfill current company work processes ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Software Suite ◼ Collection of basic software applications designed to work together ◼ They often share a common user interface ◼ They have ability to smoothly exchange data with each other ◼ The price of software suites is lower than buying individual applications ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Application software for personal use ◼ Serves the needs of individual users ◼ Improving personal efficiency ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Word (Text) processing ◼ Tools for automated processing, i.e. creating, editing, formatting and printing of electronic text ◼ Features Spell-checking Saving the document for prospective re-use Printing ◼ Widely spread in companies, schools,... ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Various word processors ◼ Bean (free) ◼ LibreOffice Writer (free) ◼ OpenOffice.org Writer (free) ◼ Apple Pages ◼ Lotus Word Pro ◼ Microsoft Word ◼ WordPad ◼ WordPerfect ◼ LaTeX - scientific text with mathematical formulas ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Spreadsheets ◼ Interactive computer application program for organization, analysis and visualisation of data in tabular form ◼ Designed for easy manipulation with numbers and calculations Functions Formulas Charts and tables ◼ Implementation of spreadsheets Budget Salary Grades Address list ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Spreadsheets ◼ Microsoft Excel ◼ LibreOffice Calc (free) ◼ Corel Quattro Pro ◼ Lotus 1-2-3 ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Spreadsheets ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Database Management Systems ◼ Database Management Systems - DBMS ◼ A collection of programs that enables you to store, modify, and extract information from a database ◼ Establishes a structure for data storage, usually relational using related tables, so related data can be easily retrieved ◼ Examples: student file systems computerized library systems flight reservation systems computerized parts inventory systems ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО DBMS basic features ◼ Organization of related data Following a number of related data Searching data to extract specific information Getting information in different ways and forms ◼ Functionalities Store Update Search, sort, analyse, report ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Basic database model Retrieved from https://www.visual-paradigm.com/guide/data-modeling/what-is-data-modeling/ ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Database Management Systems ◼ The most popular and most widely used DBMS MySQL Microsoft SQL Server Microsoft Office Access Microsoft Visual FoxPro PostgreSQL SQLite Firebird Oracle ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Presentation software ◼ Software package for creation and display of multimedia presentation in a form of a slide show Public presentations, reports, lectures, marketing ◼ Basic functionalities Displaying the content (text and images) Inserting and manipulating sound, audio and visual records Inserting and manipulating charts and tables Animations ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Presentation software overview ◼ Microsoft PowerPoint ◼ Corel Presentations ◼ Google Docs (Web and cloud based) ◼ CustomShow ◼ LibreOffice Impress (free) ◼ OpenOffice.org Impress (free) ◼ Prezi (cloud based) ◼ Apple Keynote ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Computer art ◼ Art in which computers play a role in the production or display of the artwork ◼ Usually in raster (bitmap) format ◼ Most widely used Adobe Illustrator Adobe Photoshop GIMP ◼ GNU Image Manipulation Program) ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Communication software ◼ Remote desktop connection ◼ Exchange of files and digital messages FireFTP, WinSCP ◼ Electronic mail (email or e-mail) First used in 1961 at MIT using their CCTS - Compatible Time-Sharing System ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Multimedia software ◼ Image, video and audio editors ◼ Video and musical players WinAmp, VLC media player, Real player, Windows Media player, QuickTime player Rich Internet applications and streaming audio and video (Adobe Flash Player) ◼ Video games Educational called edutainment (particularly for children) Strategies Simulators Sport ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Application software for workgroups ◼ Support for team work Collaborative software ◼ Helps groups of people to work together towards a common goal Greater efficiency and effectiveness People are at the same location or dispersed across the world ◼ Easy sharing and tracking of common information Data is stored in a central database Common data can be concurrently viewed and updated by multiple people from the team ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Application software for workgroups Scheduling meetings, preparing and reviewing proposals etc.. ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Programs for performing scientific calculations / analysis ◼ Rudimentary user interface ◼ Programs for performing scientific calculations Mathematica, Matlab, MathCAD, Simulink ◼ Programs for statistical calculations R, Anova, Statgraph, Statistica ◼ Data visualisation ◼ Machine learning, data mining, decision support Carrot2, Orange, R, RapidMiner, UIMA, Weka ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Computer-based tools for engineers ◼ Computer-aided design - CAD AutoCAD SPICE Virtual Wind Tunnels ◼ Computer-aided manufacturing - CAM CNC Software SolidCAM ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО Summary ◼ Source code ◼ System software ◼ Control programs ◼ Operating system ◼ Program software ◼ Application software