Lecture 19 Chapter 9 (to the end) Chapter 11 (start) (Note - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Lecture 19 Chapter 9 (to the end) Chapter 11 (start) (Note

Description:

Class inheritance represents generalization and specialization ... Design of the application classes is best done in conjunction with the design of ... – PowerPoint PPT presentation

Number of Views:98
Avg rating:3.0/5.0
Slides: 26
Provided by: andreku
Category:
Tags: chapter | class | end | lecture | note | start

less

Transcript and Presenter's Notes

Title: Lecture 19 Chapter 9 (to the end) Chapter 11 (start) (Note


1
Lecture 19Chapter 9 (to the end)Chapter 11
(start)(Note we will not be covering chapter
10 Designing Databases)
2
Inheritance, Overriding and Polymorphism
  • Strength of OO development
  • Built-in capabilities that facilitate programming
    and maintenance
  • Class inheritance represents generalization and
    specialization
  • Specialization classes inherit the attributes and
    relationships of the parent class
  • When naming a class, including the name of the
    parent class indicates that a class is a
    specialization class that will inherit both the
    attributes and the methods of the parent class
  • Syntax is to name class with
  • Class Name Parent Class
  • Example class Savings Account inherits from
    Account
  • Savings Account Account

3
Account
Account number Balance Date opened
Make deposit Make withdrawal
Savings AccountAccount
Checking AccountAccount
Check style Minimum balance
Interest rate
Calculate interest
4
Inheritance (continued)
  • The notation Checking Account Account
    indicates that checking account is a
    specialization of account
  • This means a checking account inherits attributes
    such as Name and Address and methods like
    MakeDeposit and MakeWithdrawal
  • This inheritance happens automatically
  • Good to use inheritance when you can

5
Overriding inheritance
  • Override to enable a method in a sub-class to
    replace the logic from the method in the parent
    class
  • e.g. suppose the application requires that a
    savings account be opened with a minimum deposit
    of 100
  • So the CreateAccount method for a savings account
    would be a little different than for other kinds
    of accounts
  • By defining the method in the subclass, you
    override the method as it is described in the
    superclass see next slide the definition of
    Make deposit in the subclass overrides the one in
    the superclass

6
Account
Account number Balance Date opened
Make deposit Make withdrawal
Savings AccountAccount
Checking AccountAccount
Check style Minimum balance
Interest rate
Make deposit Calculate interest
7
Polymorphism
  • Polymorphism the reuse of methods for different
    classes that are distinct even though they may
    have the same name and parameter list
  • E.g. if we define a method in the Customer class
    called GetBalance, we can also define a method in
    the Account class also called GetBalance, and the
    two would do different things (e.g. the one in
    Customer returns the sum of all savings and
    checking accounts, while in the Account class it
    would only return a balance for that single
    account

8
Integrating the Object-oriented application
design with user interface design,database
design and network design
  • We have focused mostly on application design
    above
  • Regarding the user interface
  • Since the OO design results in a set of
    independent interacting classes the overall
    structure of the system will not change due to
    the user interface
  • A set of interface classes are designed and added
    to the overall class diagram
  • There are many already built tools and libraries
    of components that can be used with OO interface
    design
  • Can involve selecting a library of tools,
    designing reports and forms and inserting logic
    within the methods to access them
  • Design of the application classes is best done in
    conjunction with the design of the user interface

9
  • Regarding the database
  • Database access is usually provided through a set
    of database classes
  • Some OO languages can automatically read and
    write to the database, while others require
    specific calls to database interface objects
  • Identifying the target language and database
    system is important in order that appropriate
    integration can be done during design
  • Regarding networks
  • Object-oriented applications frequently execute
    in a distributed environment
  • Individual objects (or classes) can be assigned
    to separate nodes
  • However, appropriate middleware will be necessary
    to ensure there is no conflicts between objects

10
Need for Project Coordination
  • Coordinating all the activities during design can
    be difficult
  • Many business rules may have to be incorporated
    in the system
  • Management may still be making decisions while
    the project is being developed
  • Projects begin to fragment based on number of
    design issues to be addressed

11
  • The system may need to be subdivided into
    subsystems
  • Each subsystem may have its own unique design
    requirements
  • The project team may be divided into smaller
    teams to focus on the various subsystem
  • Some technical issues (e.g. network
    configuration, database design etc.) may be
    common to all subsystems
  • Others (e.g. response time etc.) may be limited
    to specific subsystems
  • All of these teams will need to be coordinated

12
  • Two mini projects may be initiated at this point
  • Data conversion project
  • Test case development project
  • Activities of implementation phase, such as
    programming, begin around this time
  • Often design and programming may be conducted
    concurrently
  • Other complications
  • In addition to groups working on design issues,
    groups of programmers may also be getting added
    to the team
  • Also people may be working at different locations
  • Communication becomes exponentially more
    complicated as more people get added!
  • Project management tools and techniques are needed

13
Coordinating Project Teams
  • Fundamental tool in coordinating activities of
    the project team is the project schedule
  • The project manager must update the project
    schedule as time goes by
  • During the analysis phase project management is
    often done by the project manager and an
    assistant.
  • Once the project expands and several teams are
    formed a committee may be formed of the leaders
    of the key design and implementation teams and
    may carry out more of the coordination and
    control
  • Weekly and sometimes daily status meetings may be
    held

14
Coordinating Information
  • Development of design models generates a great
    amount of detail
  • Modules, classes, data fields, data structures,
    forms, reports, methods, subroutine details are
    defined in detail
  • Takes a lot of coordination to keep track of all
    the information
  • Two kinds of tools help
  • CASE tools (with a central repository to capture
    information)
  • Central repository allows all teams to view
    project information (see next slide)

15
(No Transcript)
16
  • Other electronic tools to help with team
    communication and information coordination
  • Computer support for collaborative work (CSCW)
  • Allows for team members to work on and
    dynamically update working documents or diagrams
  • One such system is Lotus Notes
  • A difficult part of the development project is to
    keep track of open items and unresolved issues
  • Can have an open items control log
  • A sequential list of all open items with
    information to track responsibilities and
    resolution of the open items (see Appendix A)

17
Chapter 11- Designing Inputs, Outputs, and
Controls
  • Major issue in the design of systems
  • How to provide access to required information
    while at the same time protecting the information
    from damage (both accidental or intentional)
  • Integrity controls
  • Mechanisms and procedures that are built into the
    system to safeguard both the system and the
    information contained in the system
  • E.g. how do we ensure that only a manager sees
    sensitive pay information?
  • E.g. How does a company using a LAN protect its
    sensitive data from outsiders?

18
Objectives of Integrity Controls
  • Ensure that only appropriate and correct business
    transactions occur
  • Focuses on identification and capture of input
    transactions to ensure that all important
    transactions are included and fraudulent ones are
    not entered
  • Ensure that the transactions are recorded and
    processed correctly
  • Controls used to alert users to data-entry errors
    and system bugs
  • Protect and safeguard the assets of the
    organization
  • Protect from crashes, catastrophes and hackers
    etc.

19
System Access Controls
  • System access controls mechanisms that restrict
    or control what portions of the computer system a
    person can use
  • Includes controls to limit access to certain
    applications or functions, the computer itself or
    pieces of data
  • Most systems build on the access control already
    within system software
  • Categories of users
  • Unauthorized user a person who does not have
    authorized access to a system
  • E.g. former employees and oustiders like hackers
    and intruders
  • Registered user a user who is registered or
    known to the system and is authorized to access
    some part of it
  • Different levels of access are defined for
    different users
  • Privileged user a user who has special security
    access privileges to a system
  • E.g. system programmers, application programmers,
    operators etc.

20
(No Transcript)
21
  • Physically securing locations
  • Physically secure locations protect physical
    equipment such as computers, hard disk storage
    devices and backup data tapes
  • Some mainframe computers require supervisory
    functions be done at a specific console
  • Managing User Access
  • Most common methods
  • A user identifier (ID) and password
  • Two techniques to define passwords
  • Computer can randomly generate and assign
    passwords
  • Each user can define his or her own password
  • Security system should be organized so all
    resources can be accessed using the same unique
    identifier and password (so dont have to know
    many of these within one organization)
  • Some companies require password changes every 30
    days
  • Systems keep record of attempted (unsuccessful)
    logins

22
  • Controlling Access with Visibility
  • An important type of control determines what each
    user actually sees and must be integrated into
    the application system itself
  • Designers define and develop the various levels
    of visibility and access
  • Defined by
  • The various classes of registered users
  • Which functions, screens, forms, fields, reports
    etc. will be available to those classes of users
  • E.g. a salesperson may be able to see their own
    orders, sales and commisions
  • A supervisor may be able to view the performance
    of salespeople in his area etc.
  • Level of visibility increases with level of
    authority and responsibility in an organization

23
Input Integrity Controls
  • Input integrity controls are used with all
    mechanisms
  • From specific electronic devices to standard
    keyboard inputs
  • Input controls are an additional level of
    verification that helps reduce errors on input
    data an input device cannot ensure that all the
    necessary fields have been entered so need this
    additional level of verification or control
  • Historically the most common method to ensure
    correct input was to enter data twice (keypunch
    verify)
  • Other methods are used today (see next slide)

24
Common techniques used to verify input
  • Field combination controls
  • Review various combinations of fields to ensure
    that the correct data is entered. Eg. On an
    insurance policy the application data must be
    prior to the policy date
  • Value limit controls
  • Check numeric fields to make sure that the amount
    entered is reasonable. E.g. the amount of a sale
    or the amount of a commission should fall within
    a range
  • Completeness controls
  • An integrity control to ensure that all necessary
    fields on an input form have been entered (e.g.
    if a dependent is entered on a form, then that
    persons birthday must also be entered)

25
  • Data validation controls
  • Ensure that numeric fields that contain codes are
    correct
  • E.g. bank account numbers might be created with a
    7 digit field and a trailing check digit to make
    an 8 digit account number
  • The check digit is based on the previous seven
    digits, and the system recalculates it (using
    data entered) as the the data-entry person enters
    the account number with check digit
  • If the results dont match an error has occurred
Write a Comment
User Comments (0)
About PowerShow.com