1. Object oriented systems describe entities as _____
  2. What is the main benefit of the object oriented approach?
  3. What does UML stand for?
    Unified Modeling Language -- the industry standard for modeling object-oriented systems (includes diagrams that allow one to visualize the construction of an object oriented system).
  4. What are Objects?
    Persons, places or things that are relevant to the system we are analyzing.
  5. What are classes?
    Objects are represented by and grouped into classes that are optimal for reuse and maintainability. A class defines a set of shared attributes and behaviors found in each object in the class. (ie. records for students in a course section)
  6. What is Inheritance?
    The original - or parent class - is known as a base class. The child class is called a derived class. A derived class can be created in such a way that it will inherit all the attributes and behaviors of the base class. A derived class, however, may have additional attributes and behaviors.
  7. What are CRC cards?
    CRC stands for class, responsibilities and collaborators. They are used to represent the responsibilities of classes and the interaction between the classes.
  8. How can CRC cards be used?
    They can be created interactively with a handful of analysts who can work together to identify the class in the problem domain presented by the business.

    Nouns = classes, Verbs = responsibilities.
  9. What three things is UML consisted of?
    Things - primary elements (ie. objects, classes, interfaces...)

    Relationships - hold things together (dependencies, aggregations, associations...)

    Diagrams - Structured & behavioral
  10. What are structural diagrams?
    They describe the relationships between classes. Class diagrams, object diagrams, component diagrams and deployment diagrams are all examples of structural diagrams.
  11. What are behavioral diagrams?
    They are used to describe the interaction between people (actors) and use cases. Use case diagrams, sequence diagrams, communication diagrams, statechart diagrams and activity diagrams are all examples of behavioral diagrams.
  12. What is use case modeling?
    Use case models describe what a system does without describing how the system does it.

    Use case models provides developers with a view of what the users want. It is free of technical or implementation details.
  13. What three things does a use case always describe?
    An actor that initiates an event, the event that triggers a use case and the use case that performs the actions triggered by the event.
  14. What are activity diagrams?
    Activity diagrams show the sequence of activities in a process, including sequential and parallel activities, and decisions that are made. "swim lanes"
  15. What is a patched-up prototype?
    Constructing a system that works but is patched up or patched together. (ie. A system that has all the features but is inefficient - so end-users can interact with the system )
  16. What is a nonoperational prototype?
    A non working model that is set up to test certain aspects of the design. (ie. making a full scale model of a car that doesn't actually work.)
  17. What is a first-of-series prototype?
    Creating a full-scale model of a system, often called a pilot. A fully operational prototype, will all features etc. (Ie. making a first airplane of a series).

    The full scale working model allows users to experience realistic interactions with the new system, before duplicates are made.
  18. What are selected features prototypes?
    An operational model that includes some, but not all, of the features that the system will have.
  19. What four guidelines must be observed when integrating protoyping into the requirements determination phase of the SDLC?
    • 1. Working in manageable modules
    • -It's not necessary to build an entire working system
    • 2. Building the prototype rapidly
    • -Speed is essential to successful prototyping.
    • 3.Modifying the prototype in successive iterations
    • -It's construction must support modifications.
    • 4. Stressing the user interface
    • -Users must be able to see how the prototype will enable them to accomplish their tasks.
  20. What are some disadvantages of protoyping?
    • - It can be difficult to manage prototyping as a project in the larger systems effort
    • -Users and alaysts may adopt a prototype as a completed system when it is in fact inadequate and was never intended to serve as a finished system
  21. What are some advantages of prototyping?
    • -The potential for changing the system early in its development
    • -The opportunity to stop development on a system that is not working
    • -The possibility fo developing a system that more closely addresses users' needs and expectations
  22. Discuss prototyping using COTS software
    Sometimes the quickest way to prototype is through the modular installation of COTS software.
  23. Discuss users' roles in prototyping.
    Users should be involved honestly. Without user involvement there is little reason to prototype. The precise behaviors necessary for interacting with a prototype can vary, but it is clear that the user is pivotal to the prototyping process.
  24. What three main ways can a user be of help in prototyping?
    • 1. Experimenting with the prototype
    • 2.Giving open reactions to the prototype|
    • 3. Suggesting additions to or deletions from the prototype
  25. What does COTS stand for?
    Commercial off-the-shelf
  26. What steps are there in aquiring computer hardware and software?
    • 1. Inventorying of computer hardware
    • 2. Estimating workload
    • 3. Evaluating harware/software
    • 4. Choosing the vendor
    • 5.Aquiring the computer equipment
  27. What are the three main options for aquisition of computer hardware ?
    • Buying
    • Advantages: Cheaper in the long run, ability to change the system, full control
    • Disadvantages: Initial cost is high, risk of being stuck, full responsibility

    • Leasing
    • Advantages: No capital is tied up, no financing required, leases are lower than rental payments
    • Disadvantages: Compnay doesnt own system, heavy penalty for terminating lease, more expensive

    • Renting
    • Advantages: No capital tied up, no financing required, easy to change systems, maintenance included
    • Disadvantages: Company doesn't own the computer, cost is high
  28. What criteria ought to be checked when evaluating vendor support?
    • 1. Hardware and software support
    • 2. Installation and training
    • 3. Maintenance
  29. Regardless of wheather you develop software or purchase a COTS product for a particular project, it is imperative to complete a ______________.
    human information requirements analysis of the users and the systems they use first.
  30. What are some advantages & disadvantages to creating a custom software?
    • Advantages
    • - Specific response to specialized business needs
    • -Innovation may give firm a competitive advantage
    • -In house staff available to maintain software
    • -Pride of ownership

    • Disadvantages
    • -May be significantly higher initial cost compared to COTS software or ASP
    • -Necessity of hiring or working with a development team
    • -Ongoing maintenance
  31. What are some advantages & disadvantages to purchasing COTS packages?
    • Advantages
    • - Refined in the commercial world
    • -Increased reliability
    • -Increased functionality
    • -Often lower cost
    • -Already in use by other firms|
    • -Help and training comes with software
    • Disadvantages
    • -Programming focused; not business focused
    • -Must live with the existing features
    • -Limited customization
    • -Uncertain financial future of vendor
    • -Less ownership and commitment
  32. What are some advantages & disadvantages to using an Application Service Provider (ASP)?
    • Advantages
    • -Organizations that do not specialize in information systems can focus on what they do best
    • -There is no need to hire, train or retain a large IT staff
    • -There is no expenditure of employee time on nonessential IT tasks
    • Disadvantages
    • -Loss of control of data, systems, IT employees, and schedules
    • -Concern over the financial viability and long - run stability of hte ASP
    • -Security, confidentiality and privacy concerns
    • -Loss of potential strategic corporate advantage regarding innovativeness of applications
  33. When should a custom software be created?
    • -When a COTS software does not exist or is not affordable
    • -When the organization is attempting to gain a competative advantage
  34. When should COTS software be bought?
    • - When the applications can be easily integrated into existing or planned systems
    • -When there is no need for customization
    • - When reliability, help, support and increased functionality is needed
  35. When should software services be outsourced to an application service provider (ASP)?
    • - When sidestepping the need to hire, train and retain a large IT staff is prioritized
    • -
  36. What are data flow diagrams?
    A graphical representation of data processes throughout the organization
  37. What four symbols are used in data flow diagrams?
    • A double square - means "entity". (ie. Student)
    • An arrow - means "data flow". ( ie. New student info --->)
    • A rectangle with rounded corners (-) -Means "process" (ie. create student record)
    • An open ended rectangle [| ____ - data store (ie. Student master)
  38. Data flow diagrams:

    Discuss the double square.
    • - Depicts external entity (another department, business, person, machine) that can send data to or receive data from the system
    • -Is considered to be external to the system
    • -Should be named with a noun
  39. Data flow diagrams:

    Discuss the arrow
    • - The arrow shows movement of data from one point to another, with the head of the arrow pointing toward the data's destination
    • -Parallel arrows depict data flows occuring simultaneously
    • -Arrows represent data about a person, place or thing and should be described with a noun
  40. Data flow diagrams:

    Discuss the rectangle with rounded edges
    • -Used to show the ocurrence of a transforming process
    • -processes represent work being performed in the system and should be named clearly.
    • -ie. "Inventory reporting subsystem"
    • - All processes should be given a unique identifying number
    • -Several data flows may g ointo and out of each process.
  41. Data flow diagrams:

    Discuss the open ended rectangle
    • - Represents a data store
    • - Data stores may represent a manual store (ie filing cabnet), computerized file, database, etc.
    • -Should be named with a noun because they represent person, places or things.
    • -Temporary data stores, such as scratch papers, are NOT included in the diagram.
  42. What steps should be taken to create a data flow diagram?
    • 1. Make a list of business activities and use it to determine various external entities, data flows, processes and data stores
    • 2. Create a context diagram that shows external entities and data flows to and from the system.
    • 3. Draw diagram 0, the next level. Show processes, but keep them genereal.
    • 4. Create a child diagram for each of the processes in Diagram 0.
    • 5. Check for errors and make sure the label syou assign to each process and data flow are meaningful
    • 6. Develop a physical data flow diagram from the logical data flow diagram.
    • 7. Partition the physical data flow diagram by seperating or grouping parts of the diagram in order to facilitate programming and implementation.
  43. Data flow diagrams:

    What are context diagrams?
    Context diagrams are simple data flow diagrams that give a "general" idea of the system.
  44. Data flow diagrams:

    What are Diagram 0's?
    Context diagrams "exploded" or in more detail. More data flows, processes, datastores can be included (usually process 0 isn't included, but broken down into 1,2,3,4, etc).

    The same number of entities as the context diagram are used.
  45. Data flow diagrams:

    What are child diagrams?
    Diagram 0 exploded. They have the same # as the processes, but with decimal points. ie 3.1, 3.2....
  46. Data flow diagrams:

    What common errors are made when drawing data flow diagrams?
    • 1. Forgetting to include a data flow or pointing an arrow in the wrong direction
    • 2.Connecting data stores and external entities directly to each other. Data stores and entities must ONLY connect with a process.
    • 3. Incorrectly labeling processes or data flow.
    • 4. Including more than nine processes on a data flow diagram. If there are more then nine - grouping should occur.
    • 5. Omitting data flow.
    • 6. Creating unbalanced decomposition (or explosion) in child diagrams. Each child diagram should have the same input and output data flow as the parent process.
  47. Data flow diagrams:

    What are the two categories of data flow diagrams?
    • Logical
    • -focuses on the business and how the business operates.
    • -Describes the business events that take place and the data required and produced by each event.

    • Physical
    • -Shows how the system will be implemented, including hardware, software, files and people involved in the system.
  48. Data flow diagrams:

    What are the advantages to using logical data flow diagrams?
    • 1. Better communication
    • 2. More stable systems
    • 3. Better understanding of the business by analysts
    • 4. Flexibility and maintenance
    • 5. Elimination of redundancies and easier creation of the physical model
  49. Data flow diagrams:

    What are the advantages to using physical data flow diagrams?
    • 1. Clarifying which processes are preformed by humans (manual) and which are automated
    • 2. Describing processes in more detail than logical DFDs
    • 3. Sequencing processes that have to be done in a particular order
    • 4. Identifying temporary data stores
    • 5. Specifying actual names of files and printouts
    • 6.Adding controls to ensure the processes are done properly
  50. Data flow diagrams:

    What is partitioning?
    - The process of examining a data flow diagram and determining how it should be devided into collections of manual procedures and collections of computer programs.
  51. Data flow diagrams:

    What are the six reasons for partitioning data flow diagrams?
    • 1. Different use Groups
    • 2. Timing
    • 3. Similar tasks
    • 4. Efficiency
    • 5. Consistency of data
    • 6. Security
  52. What are sequence diagrams?
    • - Sequence diagrams illustrate a succession of interactions between classes or object instances over time.
    • - They are derived from use case analysis and are used in systems design to derive the interactions, relationships and methods of the objects in the system.
  53. What are communication diagrams?
    • - Also known as collaboration diagrams, communication diagrams describe the interactions of two or more things in the system that perform a behavior that is more than any one of the things can do alone.
    • - Ie. a car can be broken down into thousands of parts, but can be seperated into major sections: engine, transmission, break system, etc
    • -Communication diagrams are made of three parts: objects, communication links, messages
  54. What are class diagrams?
    Class diagrams show the static features of the system and do not represent any particular processing. They also show the nature of the relationships between classes.

    • - They look a lot like ERDs
    • -They have three components per class: name, attributes, methods
    • - Linked with text (ie. has a, is for a)
  55. What is method overloading?
    • Method overloading refers to including the same method several times in a class.
    • - The same method may be defined more than once in a given class, as long as the paramaters sent as part of the message are different; that is, there must be a different message signature.
  56. What are entity classes?
    Entity classes represent real-world items, such as people, things and so on. They are the entities represented on an ERD.
  57. What are Boundary, or Interface, classes?
    Boundary or Interface classes provide a means for users to work with the system. There are two broad categories of interface classes:

    • Human
    • - May be a display, window, web form, dialog box, menu, etc.
    • System
    • - Sending/receiving data from other systems
    • -Databases & XML
  58. What are abstract classes?
    Abstract classes are classes that cannot be directly instantiated. They are linked to concrete classes in a generalization/specialization relationship.
  59. What are control classes?
    Control, or active, classes are used to control the flow of activities, and act as coordinators when implementing classes.
  60. How are messages and methods defined?
    They can be defined by using a notation similar to that described for the data dictionary. The definition would include a list of the parameters passed with the message as well as the elements contained in the return message..
  61. Discuss relationships and class diagrams.
    Relationships are connections between classes.

    • Associations
    • -Simple line on the diagram
    • -Structural connection between classes or objects
    • - 0 means none
    • -1 means 1
    • - * means many
    • Whole/Part relationships
    • - When one class represents the whole object and other classes represent parts
    • - Shown as a line with a diamond on the end
    • Aggregations
    • - Often described as a "has a" relationship
    • - Provides a means of showing that the whole object is composed of the sum of its parts
    • Collections
    • - Consists of a whole and its membersComposition
    • - A whole/part relationship in which the whole has a responsibility fo rthe part, is stronger relationship and is usually shown with a filled in diamond.
    • -"allways contains"
  62. What are generalization/specialization diagrams?
    • Gen/Spec diagrams fall into the category of class diagrams.
    • - They seperate the generalizations from the specific instances.

    • Generalization
    • - Describes a relationship between general kinds of things and specific things (cars and trucks are both vehicles)
    • Inheritance
    • - Several classes may have the same attributes/methods. When this happens, a general class is created containing common attributes and mehtods, specialized classes then inherit these. (ie. vehicles have weels, engine, etc)
    • Polymorphism
    • - Many forms
    • - The capability of an object-oriented program to have several versions of the same method witht he same name within a superclass/subclass relationship
    • Abstract Classes
    • - General classes that are used when gen/spec is included in the design
    • - The general class becomes the abstract class.
  63. What are Statechart diagrams?
    A diagram that is used to examine the different states that an object may have.

    • - determines class methods.
    • -Generally created for a single class.
    • -
  64. What are "packages"?
    Packages are containers for other UML things, such as use cases or classes.

    • - They show system partitioning, indicating which classes or use cases are grouped into a subsystem, called logical classes.
    • -Can be symbolized as a file folder (ie. Add student, Enroll in class, transfer credits, view student information can all be included in the same package )
  65. In what order should UML tools be used in system design?
    • 1. Use case models
    • - find actors and major events
    • -develop use case diagrams
    • -refine and review scenerios
    • 2.Continue UML diagramming to model the system during the systems analysis phase
    • - Derive activity diagrams from use case diagrams
    • -Deveop sequence/communication diagrams
    • -Review
    • 3. Develop class diagrams
    • -Look for nouns in use cases and list them
    • -Define major relationships
    • 4. Draw statechart diagrams
    • 5. Begin systems design by refining UML diagrams and using them to derive classes and their attributes and methods
    • -Review all UML diagrams
    • - Create class diagrams
    • - Analyze & Review
    • 6. Document your system design in detail.
  66. What is the importance of using UML for modeling?
    - By using UML iteratively in analysis and design, a greater understanding between the business team and IT team regarding the system requirements and processes that need to occur in the system to met hose requirements can be achieved.
Card Set
Flashcards for CSC375 midterm #2