* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Presentation Slides
Survey
Document related concepts
Programming language wikipedia , lookup
Reactive programming wikipedia , lookup
Structured programming wikipedia , lookup
Design Patterns wikipedia , lookup
Falcon (programming language) wikipedia , lookup
C Sharp (programming language) wikipedia , lookup
Abstraction (computer science) wikipedia , lookup
Application Interface Specification wikipedia , lookup
Software bug wikipedia , lookup
Software quality wikipedia , lookup
One-pass compiler wikipedia , lookup
Transcript
Topics Covered Types of software. Changing nature of programming. Object Oriented Programming. Four generations of programming languages. Operating systems. Source: Alter 1999 Types of Software Application Software End-User Software System Development Software System Software Source: Alter 1999 Application Software Purpose Tells the computer how to perform tasks that structure or automate specific steps in business process that apply only in specific settings. Examples Billing System, Inventory System Source: Alter 1999 Application Software Effect on end user Automates or structures steps in business processes. Generality Used for a specific type of business process in a specific business or group of similar business. Source: Alter 1999 End-User Software Purpose Tells the computer how to perform tasks that support general business processes that apply in many settings, such as writing memos or performing calculations. Examples Word processor, spread-sheet software, drawing package, etc. Source: Alter 1999 End-User Software Effect on end user Hands-on tools for the end user; may be used to develop small systems. Generality Concerned with a general business processes that could apply in many firms. Source: Alter 1999 System Development Software Purpose Helps analysts and programmers build information systems. Examples Compiler, DBMS, CASE system. Source: Alter 1999 System Development Software Effect on end user No direct effect on end user; helps technical staff produce better information systems. Generality Used to build a general class of systems, such as business applications. Source: Alter 1999 System Software Purpose Controls or supports the operation of the computer system so it can execute application software or end-user software. Examples Operating system, utility program, etc. Source: Alter 1999 System Software Effect on end user Controls computer system operations so that the end user can use it. Generality Concerned with how a computer operates, regardless of what business problem it is solving. Source: Alter 1999 The Changing Nature of Programming User Requirements ??? Automatic ??? Human Object Oriented Programming(???) Human Fourth Generation Language Human Higher Level Language Human Assembly Language Human Machine Language Human Executable Machine Code Automatic Automatic Automatic Automatic Automatic Source: Alter 1999 Trends in Software Development Greater Nonprocedurality the focus is more on what should be accomplished and not how it should be accomplished by the computer. programming is more directly linked to analysis, which uses logical models. greater focus on the business problem, instead of computer-related details. Source: Alter 1999 Trends in Software Development Greater Modularity and Reusability programs are designed as a set of selfcontained modules that work together. modularity makes designing and testing easier. example is separating user interfaces and application logic. reusability is achieved through the use of pre-existing modules. Source: Alter 1999 Trends in Software Development Greater Machine and Data Independence Java for Internet applications. client-server applications. Tighter Links between Analysis and Programming automatic translation from requirement models to programs using CASE systems. Source: Alter 1999 Object Oriented System An OO system is a collection of interacting objects that communicate through message passing in order to accomplish a goal/task. An object consists of data (attributes) and operations (methods) that act on the data. A message from Object A to Object B corresponds to invocation of a method/member function in Object B. Source: Ramamoorthy and Chillakanti 1991 Object Oriented System Objects are categorized into “classes”. A class defines a template from which objects are created. The template contains a general description that is shared by one or more objects. The description includes the data and the operations associated with objects of that Source: Ramamoorthy and class. Chillakanti 1991 Object Oriented Programming Starts with identification of objects and classes. Each class of objects has actions associated with it. These actions have methods for performing the action. All members of a class inherit methods of classes preceding it in the hierarchy. Source: Alter 1999 Classes and Objects CLASS SUBCLASS OBJECT Document Spreadsheet model Spreadsheet model for calculating discount Source: Alter 1999 Memo Memo to John Doe, 5/7/98 Memo to Jane Doe, 8/11/98 Inheritance and Methods CLASS Document Methods for * opening * closing * saving * printing SUBCLASS OBJECT Spreadsheet model Spreadsheet model for calculating discount Source: Alter 1999 Memo Memo to John Doe, 5/7/98 Memo to Jane Doe, 8/11/98 Message Passing A User print Source: Alter 1999 Memo to Jane Doe, 8/11/99 Polymorphism print Memo to Jane Doe, 8/11/99 print Spreadsheet model for calculating discounts A User Source: Alter 1999 Object Oriented Development identification of classes determining the attributes and methods associated with each class determining the various kinds of relationships among classes inheritance - class-subclass composition - class-component business - class-class Four Generations of Programming Languages Machine Languages Assembly Languages Higher Level Languages Fourth Generation Languages Source: Alter 1999 Higher-Level Languages Known as 3GLs. A program called compiler translates 3GL programs (source code) to machine language programs (object code). An interpreter of a 3GL translates and executes each successive line of a program. Source: Alter 1999 Fourth Generation Languages 4GLs are a loosely defined group of programming languages that make programming less procedural than 3GLs. The term 4GLs is closely associated with query languages and report generators. Source: Alter 1999 Other Major Developments in Programming Special-Purpose Languages Spreadsheets Computer Aided Software Engineering (CASE) Systems Source: Alter 1999 Special Purpose Languages Languages that are related to the area of business or the type of problem in question. Examples: modeling languages. simulation languages. Source: Alter 1999 CASE Systems CASE is the use of computerized tools to improve the efficiency, accuracy, and completeness of the process of analyzing, designing, developing and maintaining an information system. Classification: Upper CASE - logical modeling. Lower CASE - code generation. Source: Alter 1999 Operating Systems Complex programs that control the operation of computers and networks by controlling execution of other programs running on the computer, communication with peripheral devices including terminals, and use of disk space and other computer system resources. Source: Alter 1999 OS functions affecting a PC user Controlling the user interface. Controlling tasks in progress. support for multitasking. Controlling access to data. password access to restricted data. Allocating resources. allocation of memory and disk space. Source: Alter 1999 OS for Multi-User Computer Systems Run many jobs simultaneously for different users, taking priority into account. Make sure that the users, their data, and their various jobs do not interfere with each other. Maintain computer system security. Source: Alter 1999 OS for Multi-User Computer Systems Network operating system establishes the links between nodes, monitors network operation, and controls recovery processes when needed. Must work in conjunction with OS for the individual workstations on the network. Source: Alter 1999 Examples of Multi-User OS IBM’s MVS and Digital’s VMS UNIX IBM’s AIX, HP/UX, Sun’s Solaris, Digital’s UNIX, SCO’s UNIX etc. Microsoft’s Windows NT Source: Alter 1999