Software Fundamentals: - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Software Fundamentals:

Description:

math, text. Control operations. if statements. loops (ability to repeat instructions) ... Free checks. Min Balance. Methods. Print Statement. Chg Address ... – PowerPoint PPT presentation

Number of Views:142
Avg rating:3.0/5.0
Slides: 35
Provided by: joan8
Learn more at: https://ww1.odu.edu
Category:

less

Transcript and Presenter's Notes

Title: Software Fundamentals:


1
Software Fundamentals
  • Programs and Programming
  • Software

2
Programming Definitions
  • Programs
  • traditional programs
  • macros, batch files
  • Programming Languages
  • Programming
  • Program design
  • Coding
  • Debugging
  • Documentation
  • Maintenance
  • Programmers
  • Programming Environments

3
Programming Languages
  • Commonalities
  • All have a syntax
  • All have the same basic operations
  • Input, Output
  • Processing
  • math, text
  • Control operations
  • if statements
  • loops (ability to repeat instructions)

4
Language Differences
  • Purpose
  • COBOL, FORTRAN, SNOBOL, LISP
  • Power - two meanings
  • degree of control over machine
  • how much is accomplished by each statement
  • Safety
  • Portability
  • Maintainability
  • Readability/Modularity/Reuse

5
History of Languages
  • Gen 1 and 2 not important for you
  • Gen 1 Machine Language
  • All statements 0s,1s
  • Gen 2 Assembly Language
  • 0s,1s replaced w/ short codes
  • Gen 3 Higher Level Languages
  • each statement several low level statements
  • Gen 4 4GLs
  • each statement a program in 3GL
  • Emphasis on what not how

6
Example of a 3 GL Program
  • Dim miles, fuel, mileage
  • Input enter the miles traveled, miles
  • Input enter the gallons of gas used, fuel
  • Let mileage miles/fuel
  • Lprint Miles Miles
  • Lprint Gas Used fuel
  • Lprint Mileage Milage
  • End

7
Example of a 4GL (SPSS)
  • Type in a command directly and execute it
  • FREQUENCIES VARIABLESpaysat growsat
    /STATISTICSSTDDEV VARIANCE RANGE MEAN
  • Use a dialog box to specify what to do

Generates the same command above
8
History of Programming
  • Customized software
  • programming is an art, spaghetti code
  • Structured programming
  • modules, documentation, COBOL
  • Programmer Tools
  • code generators
  • reverse engineering
  • programming environments
  • Packaged software
  • Packaged objects/modules

9
Modular Programming
  • Main.
  • Perform Input-Wage-Hours.
  • Perform Calculate-Pay.
  • Perform Display-Pay.
  • Stop Run.
  • Input-Wage-Hours.
  • Display What is the wage?
  • Accept Wage.
  • Display enter hours
  • Accept Hours.
  • Calculate-Pay.

Statement that calls module
Module Name
The next module
10
Object-Oriented Software
  • A new way to look at programming

11
Object-Oriented Paradigm
  • OO is a way of viewing the world
  • we tend to group items (objects) into categories
    (classes)
  • the objects in each category have similar
  • properties
  • behavior
  • OO is a way of recording reality
  • used to capture user requirements
  • OO is a way of programming

12
OO Concepts
  • A class is ...
  • A collection of similar objects
  • The set of all .
  • A definition
  • Properties, behaviors they share
  • An Instance of a Class
  • a single object in the class
  • A sub-class
  • subset of objects in parent class
  • used whenever not all objects in the class are
    exactly the same
  • A message
  • when one object talks to another

13
Bank Accounts Object Class
  • Properties
  • Customer ID
  • Balance
  • Methods
  • Deposit/Withdraw
  • Print Statement
  • Chg Address

Checking Accounts Object Class
Savings Accounts Object Class
  • Properties
  • Free checks
  • Min Balance
  • Methods
  • Print Statement
  • Chg Address
  • Properties
  • Interest rate
  • Methods
  • Calculate Interest
  • Print Statement
  • Change Address

Messages
14
OO Example for Bank
  • Object Class Accounts
  • The set of all accounts
  • All accounts have these properties
  • ID number
  • Balance
  • All accounts have these methods (behaviors)
  • Deposit, Withdraw (transactional)
  • Print Statement (output)
  • Change Address (chg property)
  • Instance of the Accounts class
  • 555-111, 2000.00 (ID , Balance amount)
  • Sub-classes of the Accounts Class
  • Savings Accounts Checking Accounts
  • Messages
  • Account class might receive a message from
  • Customer instance (create an account for me)
  • Account instance might send a message to
  • Collections Officers class (this account is
    overdrawn)
  • Printer instance (print this statement)

15
Benefits of OO Programming
  • Has both standardization and flexibility
  • Inheritance gives stability
  • A sub-class inherits everything from parent
  • Both properties and methods
  • Customization gives flexibility
  • Unless method is private
  • you can change it make it behave differently
  • Unless a property is private
  • you can drop it, change its format, size, etc.
  • You can add new methods and properties

16
Examples of Object Statements
  • Excel
  • Worksheets.Add
  • Worksheet(1).Caption January
  • Worksheet(January).Activate
  • Word
  • Selection.Font.Color wdColorRed
  • Powerpoint
  • ActivePresentation.SlideShowSettings.Run
  • ActiveWindow.ViewType ppViewSlideSorter

17
OO Programming Languages
  • Statements in an OO language help
  • create classes
  • define properties (like fields in a record)
  • define methods (behaviors)
  • keep track of instances of a class (objects)
  • create sub-classes
  • When you use an OO program it might
  • create instances
  • initiate methods
  • change properties
  • send messages

18
OO Programming Environments
  • Programming Environment
  • software used to write programs
  • programming support tools
  • libraries of object class definitions
  • diagramming tools to show
  • class relationships
  • parent, sub
  • Message interactions
  • What objects talk to other objects

19
Object Thinking Project
  • Scenario
  • Company owns a chain of ski shops and they need a
    system to keep track of products and supplies on
    hand. The system should allow the ski shop
    managers to
  • Create new products or supplies, Place orders,
    etc
  • Your Tasks
  • Develop a hierarchy of classes for the system
    that has at least one super-class and two
    subclasses
  • For each class of objects specify
  • some properties it might have
  • some methods it might have
  • Also, give me an example of a possible instance

20
Classifying Software - Textbook
21
Classifying Software - Dr. Mann
22
Software Definitions
  • Software vs. Programs
  • Software Types
  • Systems Software - control hardware
  • Systems Management
  • Operating systems, Utilities
  • Performance Monitors
  • Systems Development
  • Middleware - interface 2 systems
  • translation/conversion software
  • one legacy system talks to another
  • web devices talk to old legacy system
  • Home-grown single programs vs. EAI
  • Application Software - designed for users

23
Operating Sys Commonalities
  • CPU is nothing w/o firmware op sys
  • firmware hardwired instructions
  • disk op sys loaded from storage
  • Op system tells CPU what to do
  • Other activities handled by op system
  • user interface
  • storage interface (file mgt)
  • resource management and scheduling
  • Interface with other devices
  • security

System Software - System Mgt
24
Op Sys Differences
  • Single user vs. multiuser
  • Interfaces - look and feel
  • User-friendliness
  • Customizable
  • Forgiving
  • Supportive - good help
  • Intelligence
  • Openness/Scalability
  • Security/Reliability

System Software - System Mgt
25
Multi-User Operating Systems
  • Networks of PCs
  • client kernel vs. server op system
  • Novell
  • Windows NT, 2000
  • Unix and Linux
  • OS/2 -- like a mainframe on PC
  • Host/Server Machines
  • Each vendor has proprietary OS
  • IBM -- MVS, VM
  • DEC -- VAX on minicomputers
  • Or Unix is used

System Software - System Mgt
26
Windows Family Tree
Client OS
Network OS
16-bit
32-bit
System Software - System Mgt
27
Utilities
  • Disk Utilities
  • Diagnose and repair files/disks, file viewer
  • Compress data
  • Optimize (defragment)
  • Backup
  • Virus checkers
  • Uninstallers
  • System Utilities
  • monitor system, network
  • manage memory
  • screen savers
  • Device Drivers

System Software - System Mgt
28
Application Software
  • General Purpose Software Packages
  • useful in any organization
  • Productivity, Groupware, Teamware
  • Application-Specific Software
  • inside Information Systems
  • customized, off-the-shelf
  • online or web-based
  • application service providers

29
Application-Specific Software
  • Software in an Information Sys
  • In TPS/MIS - Set of programs that
  • get input
  • process input
  • output processed input
  • store input
  • create reports, handle inquiries
  • In support systems
  • User interface - I/O
  • Manage repository
  • Processing Modules
  • ES Intelligence Engine
  • DSS Analysis Functions
  • KMS Categorizers, Search Agents

30
User Interface Concepts
  • What is it? -- Look and Feel
  • Look visual style
  • Feel way you navigate
  • what you have to do to perform tasks

31
Basic Interface Types
  • Command Driven (DOS, hosts, servers)
  • look text only
  • navigation keyboard only
  • hot keys menu bar of hot key choices
  • function keys ESC, CTRL, ALT
  • you type a text command
  • copy a\my.fle c\my2.fle
  • text menus -- you choose option
  • Still found on multi-user hardware
  • Graphical User Interface
  • Look Windows metaphor icons
  • navigation mouse oriented
  • plus, modularity, standardization

32
Advanced User Interfaces
  • Graphic interface applications can use
  • a standard window metaphor
  • a social interface (ex creative writer)
  • use metaphors from daily life (book, desk)
  • hypermedia interface
  • documents with links to other documents
  • ability to backtrack
  • wizards/agents -- little helper apps
  • Speech recognition

33
(No Transcript)
34
Template/Style Sheets
  • Definition document which has been pre-defined
    for a task
  • Word processing templates
  • pre-specified formats, pre-defined text
  • fields to be filled in
  • Spreadsheets
  • have pre-defined headings, calculations set up
  • Presentation templates
  • backgrounds, layouts
  • Template protection
Write a Comment
User Comments (0)
About PowerShow.com