CIS 405 Final (7-13)
What is Service-Oriented Architecture?
"plug and play" services that can be billed as pay-as-go or purchased outright (completely)
Downsides of outsourcing
-Corporate Knowledge Goes Out the door -Nobody in-house will understand system very well
According to the authors of our class text book, which of the following is not a common language of information systems development?
Apache
If you outsource, you MUST...
-Define Requirements VERY Clearly -Choose vendor with a proven track record
RFP
-Long -Request For Proposal -Specs Make it long
Advantages of outsourcing
-Potentially Less Expensive -Frees up teams time -Outercourse are often Experts ; Quick Dev.
3 basic constraints when we want a method to execute
-Pre-Conditions -Post-Conditions -Invariant
RFI
-Short -Request for information -General List of requirements -Expecting vendor to reply back with specific solution
Abstractions dealt with in OOP
-Variable -Methods -Objects -Clusters (Includes) -----Partitions -----Packages
In the declaration section of a program which you are testing you see the following: X : integer Y : real Z : string(20) In the main part of the program you see the following: X := 1.5 Y := 2.763 Z := "Henry Ford" Regarding compiling and executing this code:
Compile error, X := 1.5 is a type mismatch (real value to integer variable)
_____ is the development of all parts of the new system including the software, documentation, and new operating procedures.
Construction
Say system you got through outsourcing is not what you want. What can you do?
Create API or object wrapper; workaround
Dashed Lines
Dependency relationships in a package relationship need to be ___________
System Analyst
Designs System, MUST Pay Attention to details Most important: Capture All Requirements
What does the network model communicate to the project team?
E. A & B only
In the public key private key encryption algorithm, the public key is normally used to _________, while private key is used to ______________.
Encrypt data, decrypt data
A day-by-day slippage in the schedule is not a problem and can easily be fixed by simply working two ten-hour days for each eight-hour day slipped.
False
Client-server architecture can only support one kind of operating system on a network. For example, you cannot put a Mac and a PC on the same network.
False
Senior management has established the priority for the new system as user friendly, and quickly and inexpensively expandable to all parts of the organization. The systems analyst should recommend a client-server based computing architecture.
False
Server-based computing requires a high degree of coordination among many components, and the chances of security holes or control problems are much greater than with client-server computing.
False
Black Box Testing
For unit tests, variable states are NOT visible during the testing process
White Box Testing
For unit tests, variable states are visible during the testing process
What is bias in the context of HCI
Graphical data can be formatted in a way that deceives the user to some extent that is in accordance with the ideas/preferences of the individual who Put the data together
What are the different types of Mock-Ups and interfaces
Heuristic, Walk-through, Interactive Evaluation, Formal Usability Testing
What is HCI?
Human Computer Interaction
_____ is the type of test performed to assess whether a set of classes that must work together do so without error.
Integration testing
Structured English
Language to help describe processes
Interface Design Prototyping
Mock-ups or simulations of computer screens, forms, and reports
You are conducting a walk-through on your design deliverables and examine the guard conditions on a decision node. The following guard conditions are set: X <= 9, X >= 9 How do you correct these guard conditions to make the decision mutually exclusive?
Nothing, the conditions are mutually exclusive.
Beta Testing
Performed by users who provide auto-feedback or comments on errors and suggested improvements
How to deal with mistakes?
Prevent user from making mistake Use consistent grammar Simplify recovery
Visibility of attributes
Protected - # Invisible = + Hidden = - Derived = /
English version of coding (For planning)
Pseudocode
To organize system into smaller groups
Purpose of packages
Vertical
Software that only one thing will be able to use
Types of Interface design Prototypes
Storyboard, Windows layout diagram, HTML, Language
_____ documentation is designed to help programmers and systems analysts understand the application software and maintain it after the system is installed
System
In-House Development
The Most Flexible and reliable development option
Examine the following: _______________________________________________________ - LName := string(30) - FName := string(20) - DOB := date(MM/DD/YYYY) / AGE := System_Date - DOB _______________________________________________________ What assumptions are made, specifically pre-conditions, for the derived value to properly compute?
The System_Date and DOB are correct
Polymorphism
The ability of different objects to respond to the same message with different answers
Margins
The difference between costs and benefits
How to prevent HCI Bias
The scale should always begin with 0
Interactive Evaluation
The users themselves actually work with the HTML or language prototype in one-on-one sessions with members of the project team.
Horizontal
Things that use the same software
Purpose of a class
To encapsulate the data and the processes together
Purpose of a package
To group and organize similar classes
A GUI is easily supported on a server-based application, and therefore is less expensive to develop.
True
Client-server architectures tend to be cheaper than client-based architectures because they place less of a load on networks and thus require less network capacity.
True
Client-server systems are more reliable since no one single computer supports all applications. Many servers remove the single point of failure that exists on a single server system.
True
For thin client server architectures that use Internet standards, it is simple to clearly separate the presentation logic, the application logic, and the data access logic and design each to be somewhat independent.
True
Security, in the context of the physical architecture layer design, is the responsibility of the operations group.
True
The objective of designing the physical layer is to determine what parts of the application software will be assigned to what hardware.
True
What is the standard for designing object-oriented systems?
UML (Unified Modeling Language)
If you buy software that is created by someone else and you bring it into your organization, you make it your own, what is the downfall?
Updates are going to be difficult, the vendor may not support your changes, hard for other people to understand, they could go out of business
Purpose of method specification
Very explicit instructions on what method should be doing
Encapsulation
Wrapping everything into one entity
Security, in the context of the physical architecture layer design, is the responsibility of the operations group. Should they be concerned about earthquakes possibly disrupting an IS or causing data loss?
Yes
What is a communication path?
a communication link between nodes of the physical architecture
Interface Metaphors
a concept from the real world that is used as a model for the computer system.
Cohesion
a measure of the degree to which the elements of the module are functionally related Grouping similar elements based on similar characteristics
Walk-through evaluation
a meeting conducted with the users who will ultimately have to operate the system
What is an artifact?
a piece of the IS to be deployed onto the physical architecture (usually s/w)
Additional factors that can mandate what architecture the project team needs to design include(s)
all of the above
multiple inheritance
an object or class can inherit characteristics and features from more than one parent object or parent class.
The cost of fixing one major bug after the system is installed can easily exceed the _____.
annual salary of a programmer
Silver bullet syndrome
belief that advancing technology will magically solve business problems
Keeping files and programs in different places based on completion status helps to manage _______ ________ by using a program log.
change control
Which type of architecture costs four to five times more to develop and maintain application software than server-based software?
client-server
The two basic limitations of client-server architecture are
complexity and updating the network with a new version of software
Since most systems are built to use the existing infrastructure in the organization, the
current infrastructure restricts the choice of architecture
A server in the client-server architecture performs which of the following application functions?
data access logic and data storage
The application function that allows data to be stored and retrieved is called _____.
data storage
When programmers or project teams set up three areas on different disk drives in which the programmers can work, these areas are for _____.
development, testing, and production
Regarding the benefits of Client-Server Architecture, scalability refers to the _____.
easy increase or decrease of the storage and processing capabilities of the computer
Regular meetings of a systems project team
encourages communication
Heuristic Evaluation
examines the interface by comparing it to a set of heuristics or principles for interface design
Formal Usability Testing
expensive, detailed use of special lab testing
As the size of a project team increases, the need for coordination increases _________.
exponentially
Interface Objects
fundamental building blocks of the system
Primary and foreign Keys are _____
invariant
Scope creep is
is an occurrence caused when new requirements are added to the project after the system design is finalized
White-box or clear-box testing
looks inside the class and tests the methods (code)
A server can be a(n) _____.
mainframe, minicomputer, or microcomputer
Which of the following is NOT one of the four basic functions of a computer application?
networking logic
Scope Creep
new requirements are added to the system after you have already finished plannning
Which of the following is NOT a factor in considering availability and reliability requirements?
number of doughnuts required to keep system administrator awake at night
What is a node?
represents a piece of hardware, (client computers, separate networks, servers)
First and foremost, the speed requirement for an IS is also called the
response time
What is this: <<>> ?
syntax representing a device, (mobile device, DB server, web server, or application server); additional information for a node
Coupling
the measure of the degree of interdependence between the modules. A good software will have low __________.
When assigning programmers to a programming team, the best size of the team is?
the smallest number of people possible
dynamic binding
type of object is not determined until run-time
Tutorials teach users how to
use major components of an IS
You've received a job offer to work with a software development team in a foreign country. Power distance is a big concern since this job is in Asia. What would you probably not do in this new job?
write code side-by-side with the CEO
3 basic types of relationships between classes
1) Inheritance 2) Association 3) Aggregation
***When implementing problem domain classes in a single inheritance language, TWO rules should be followed...***
1). Convert Additional inheritance relationships to association relationships 2). Flatten inheritance Hierarchy by copying attributes and methods and methods and super classes to a single level
One of the strongest driving forces to client-server architectures is cost of infrastructure. Simply put, personal computers are more than _______ times cheaper than mainframes for the same amount of computing power.
1,000
How many methods are in a class if none are shown?
2: Create/Delete
Inheritance
All sub classes get all parent class information
Interaction Testing
An integration test, tests each process step-by-step