Presentation is loading. Please wait.

Presentation is loading. Please wait.

COP 2551 Introduction to Object Oriented Programming with Java Topics –Introduction to Computer Hardware –Introduction to Computer Software –Software Development.

Similar presentations


Presentation on theme: "COP 2551 Introduction to Object Oriented Programming with Java Topics –Introduction to Computer Hardware –Introduction to Computer Software –Software Development."— Presentation transcript:

1 COP 2551 Introduction to Object Oriented Programming with Java Topics –Introduction to Computer Hardware –Introduction to Computer Software –Software Development Process –Design Tools Structure Chart Flowchart Pseudo Code Lecture 1

2 Software is Power Today, everything is controlled or enhanced by software –Computers –Games/Electronic Devices –Vehicles (cars, trucks, planes, trains, etc.) –Appliances (washer, oven, refrigerator, etc.) Only software developers have the power to control the things we use everyday

3 Java is Everywhere Java is a very popular language –Used exclusively for Android apps –Can be used for Windows 8 apps –Primary open source language

4 Computer Hardware Comprised of the following 4 systems –Central Processing Unit (CPU) –Memory (primary/secondary) –Input/Output Devices CPU Output Devices Memory Input Devices

5 Computer Hardware Central Processing Unit (CPU) –Controls all activities of the computer –Comprised of 3 sections Arithmetic/Logic Unit (ALU) Control Unit –Executes instructions using Fetch-Decode-Execute cycles Registers CPU Output Devices Memory Input Devices

6 Computer Hardware Memory –Comprised of 2 categories Primary (memory circuits attached to the motherboard) –RAM vs. ROM Secondary (removable/portable memory devices) –Hard drive, DVD, thumb drive, the cloud, etc. CPU Output Devices Memory Input Devices

7 Computer Hardware Input Devices –Converts human information into digital data Computers can only understand digital information –The computer’s language is the Binary number system »The computer stores everything as a number (1s or 0s) CPU Output Devices Memory Input Devices

8 Computer Hardware Output Devices –Converts digital data into human information Input-Output Devices –Same device performs both input and output Few such devices truly exist A modem or network card are good examples A sound card is not a good example (Why??) CPU Output Devices Memory Input Devices

9 Computer Hardware Binary number system –The natural language of a computer –Comprised of only 2 digits 0 – Off 1 – On –A binary number can represent any decimal value Requires conversion between the two systems

10 Computer Software 3 Types of Computer Software –System Software Software that directly interacts with hardware –Operating Systems –Device Drivers –Application Software Software that directly interacts with the user –Web Browser –Office Suite –Development Software Software that creates programs –NetBeans –Microsoft Visual Studio

11 Types of Programming Languages Machine Language –The natural language of computers Consists entirely of binary numbers –Machine dependent Different computers use different languages –Similar to Americans and Germans –Example

12 Types of Programming Languages Symbolic Language –Uses mnemonics or symbols rather than binary #s Easier for humans to understand Must be converted into machine language –Machine dependent Different computers use different languages –Symbols must match the correct machine language instructions –Example

13 Types of Programming Languages High-level Language –Uses English-like words rather than symbols or binary #s Easier for humans to understand Must be converted to symbolic language and then to machine language –Machine independent (usually) Different computers can use the same language –Only the “converters” are machine dependent –Example

14 Types of Programming Languages Natural Language

15 Software Development Process Few software projects are successful –Lack of planning –Poor design –Missing requirements –Inflexible to change Design Requirements Budget –Time –Money http://www.softwaremag.com/archive/2001feb/CollaborativeMgt.html

16 Software Development Process Requirements Gathering –What is the purpose of the software application? –What should the final application do? –Functional requirements The thing the software application actually does –Browse the web –Calculate employee salaries –Navigate an airplane –Non-functional requirements Criteria used to determine application performance –Browser supports HTML 5 standards –Salary calculations conform to local/state/federal laws –GPS is accurate to within 1 meter

17 Software Development Process Analysis –How to design and implement the application –Look for alternative designs and implementations Examine new technologies Prioritize development schedule –The order components are implemented in the application Create prototypes

18 Software Development Process Design –Create a “blueprint” of the application –Create schedule of component implementation First 3 phases are the most important –The more time spent here, the more successful an application will be –Very little money expended –Quick and easy to correct mistakes in design

19 Software Development Process Implementation –Actually build the software application This phase requires the most time, money and effort Testing –Verify the application works as designed Gives developers an opportunity to fix problems –Poorly implemented code –Poorly designed feature –Handle changes that occurred to the design Problems missed during testing –End up in the final product –Can be costly in terms of money, reputation and life

20 Software Development Process Maintenance –Allows developers to update the software product Add new features Fix recently discovered problems Adhere to changes in government regulations –Longest phase of any software application Performed throughout the lifecycle of the product –Most software “bugs” are created in this phase Murphy’s Law of Software Development –Changes made to software will introduce new bugs »Ironic because most changes are made to fix known bugs

21 Software Development Process Waterfall Model –One of the simplest process models used Has been used for decades Used in most engineering-based fields Requirements Gathering Analysis Design Testing Implementation Maintenance Each phase “flows” into the next phase “Flow” can also move backwards Questions raised during the Analysis Can be answered by returning to the Requirements Gathering phase “Flow” always moves from one phase to the next No phases are skipped Especially after returning to an earlier phase

22 Software Design Tools Structure Chart –Diagrams the “functional” flow of an application –Looks like a company hierarchy chart Flowchart –Diagrams the “logical” flow of An application A code subset of an application Pseudocode (pseudo = fake) –Describes the “instructions” required for the application –Includes the use of English statements Formulas and equations Mix of the above and actual code (should be avoided)

23 Problem Solving The essence of programming is to solve problems –Identify the problem What information is needed to solve the problem –Input values (parameters) –Rules that govern the problem environment –Constraints on the problem environment What methodologies are needed to solve the problem –Equations –Algorithms –Processes What and how results need to be displayed –Graphically or text –Formatting requirements –Write the program to solve the problem –Verify (test) the results Fix any issues with the program and test again –Repeat as necessary


Download ppt "COP 2551 Introduction to Object Oriented Programming with Java Topics –Introduction to Computer Hardware –Introduction to Computer Software –Software Development."

Similar presentations


Ads by Google