ISQS 4348 Exam 2
Rapid Application Design
A development method that uses special tools and an iterative approach to rapidly produce a high-quality system.
Non-Operational
A nonworking scale mode that is set up to test certain aspects of the design
Decision Tables
A table of rows and columns, separated into four quadrants: • Conditions • Condition alternatives • Actions to be taken • Rules for executing the actions
Patched Up
A working model that has all the features but is inefficient.
Implementation Phase
As the systems are built and refined, the new systems or part of systems are tested and then introduced to the organization.
Selected Features
Building an operational model that includes some, but not all, of the features that the final system will have. Features are installed in modules
CRC Cards
Class, responsibilities and collaborators; used to represent responsibilities of classes and interactions between them
Data Dictionary
Collects and coordinates data terms, and confirms what each term means to different people in the organization. (You can use a Data Dictionary to Provide documentation, Eliminate redundancy, Validate the data flow diagram, Provide a starting point for developing screens and reports, Determine the contents of data stored in files, To develop the logic for DFD processes, and Create XML. It is made up of data flow and data store description forms, and details on data structures and data elements).
Agile Values
Communication • Simplicity • Feedback • Courage
First-of-a-Series
Creating a completely operational pilot prototype
Process
Denotes a change in or transformation of data; Represents work being performed in the system
Generalization
Describes a relationship between a general kind of thing and a more specific kind of thing; described as an "is a" relationship
Communication diagram
Describes 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. Made up of objects, communication links, and the methods that can be passed along those links
use case diagram
Describes what the system does, without describing how the system does it and based on the interactions and relationships of individual use cases
RAD Design Workshop
Design and refine phase. Analysts refine designed modules based on user responses.
Finding Classes
During interviewing or JAD sessions, facilitated team sessions, brainstorming sessions, Analyzing documents and memos, and Examining use cases, looking for nouns
Two main problems with the SDLC
Extended time required to go through the development life cycle; User requirements change over time
Logical Data Flow Diagrams
Focuses on the business and how the business operates, (Not concerned with how the system will be constructed) Describes the business events that take place and the data required and produced by each event
Data Flow Approach advantages
Freedom from commitment during implementation, further understanding of the interrelated systems and subsystems, Communication of current system knowledge to users, Analysis and definition of the proposed system
Sequence diagram
Illustrate a succession of interactions between classes or object instances over time; used to show the processing described in use case scenarios and the values returned.
Four main problems w/ decision tables
Incompleteness( not having all conditions, alternatives, actions and rules complete), Impossible situations (choosing of two alternatives that contradict), Contradictions (when rules suggest different actions but satisfy the same conditions), Redundancy, (identical sets of alternatives require the same action).
Disadvantages of Prototyping
It can be difficult to manage prototyping as a project in the larger systems effort. Users and analysts may adopt a prototype as a completed system.
Abstract class
Linked to concrete classes in a generalization/specialization relationship; used to set up more specific classes which inherit from general classes.
Advantages of Prototyping
Potential for changing the system early in its development. Opportunity to stop development on a system that is not working. Possibility of developing a system that more closely addresses users' needs and expectations
Scrum
Product backlog, Sprint backlog, Sprint, Daily scrum, Demo
Interface Class
Provide a means for users to work with the system.(Human interfaces may be a display, window, Web form, dialogue box, touch-tone telephone, or other way for users to interact with the system.). It involves sending data to or receiving data from other classes.
Goals of Process Specifications
Reduce ambiguity, Obtain precise description, Validate the design.
Entity Class
Represent real-world items
RAD Phases
Requirements planning • RAD design workshop • Implementation
Lessons Learned from Agile Modeling
Short releases allow the system to evolve. • Pair programming enhances the overall quality. • Onsite customers are mutually beneficial to the business and the agile development team. • The 40-hour work week improves worker effectiveness. • Balanced resources and activities support project goals. • Agile values are crucial to success.
Agile Practices
Short releases, 40-hour work week, Onsite customer, Pair programming
Class diagram
Show the static features of the system and do not represent any particular processing, the nature of the relationships between classes and the data storage requirements as well as processing requirements.
Physical Data Flow Diagrams
Shows how the system will be implemented, Depicts the system
Data flows
Shows movement of data from one point to another.
activity diagram
Shows the sequence of activities in a process, including sequential and parallel activities, and decisions that are made. (It's created from a use case)
determine class methods
Standard methods (new), or exam a create, read, update and delete (CRUD) matrix.
Top-down approach
Start with the largest base items of the project and break them down into their subordinate items that add on details to the data dictionary.
Polymorphism
The capability of an object-oriented program to have several versions of the same method with the same name within a superclass/subclass relationship
Context Diagram
The highest level in a data flow diagram which contains only one process, representing the entire system. The process is given the number 0 and all external entities, as well as major data flows are shown.
Resources of Agile Modeling
Time, Cost, Quality, Scope
Disadvantages of RAD
Trying to hurry the project too much, and lack of documentation.
Control Class
Used to control the flow of activities. Control classes go between interface and entity classes.
Statechart diagram
Used to examine the different states that an object may have; created for a single class. It's made up of an object, states and event.
Messages
Used to send information by an object in one class to an object in another class • Acts as a command, telling the receiving class to do something • Consists of the name of the method in the receiving class, as well as the attributes that are passed with the method name • May be thought of as an output or an input
Structured English
Used when the process logic involves formulas or iteration, or when structured decisions are not complex
Swimlanes
Useful to show how the data must be transmitted or converted (web page, server, mainframe, etc), help to divide up the tasks in a team
Requirements Planning Phase
Users and analysts meet to identify objectives of the application or system. Orientation is toward solving business problems.
Data stores
When data flow base elements are grouped together to form a structural record, this is created for each unique structural record.
Associate Relationships
a participle connection between classes
method
a process that can be requested from any object of the class and then carried out.
Classes
a unique group of similar objects defined by a set of shared attributes so that they can be reused and which have all of an object's attributes in a self-contained structure.
Elements
a variable that stores information related to an object.
Generalization/Specialization Diagram
an enhanced class diagram made up of Generalizations, Inheritance, Polymorphism, Abstract classes and Messages
Data structures
an object and the variables its made up of.
Agile Models
are a collection of innovative, user-centered approaches to systems development.
Decision trees
are used when complex branching occurs in a structured decision process. It keep a string of decisions in a particular sequence.
Relationships
connections between classes
Collection Relationship
consists of a whole and its members; members may change but the whole stays the same.
Business layer
contains the unique rules for an application, corresponding roughly to control classes.
Physical Data Structure
data elements the user wouldn't see and additional elements necessary for implementing the system.
attribute
describes a property of an object in a class.
Use Case Modeling
describes an actor who causes an event, the event which causes a use case and a use case that performs some actions
Process Specifications
explain the decision making logic and formulas that will transform process input data into output data.
Persistence or data access layer
for obtaining and storing data, corresponding to the entity classes.
Method Overloading
having multiple methods with the same name but different parameters in a class.
Diagrams
help visualize the system
CRC Session
identify all of the nouns (classes) and verbs (methods), gain as many responses as possible, weed out the illogical ones, create walk-through scenarios. Object Think helps encourage a group to describe as many property statements possible.
Partitioning
is the process of examining a data flow diagram and determining how it should be divided into collections of manual procedures and computer programs. A dashed line is drawn around a process or group of processes that should be placed in a single computer program.
Data Repository
large collection of repository information (contains information about data maintained by the system • Procedural logic and use cases • Screen and report design • Data relationships • Project requirements and final system deliverables • Project management information)
Objects
persons, places and things (entities) in a system
Data Flow Approach
representation of data processes and the elements that pass in and out of them.
Aggregation Relationship
shows that the whole object is composed of the sum of its parts
UML Concepts
standardized tool to document a system represented by things, relationships and diagrams.
Inheritance
the ability to be given the attributes and methods from a parent class to a child class
Logical Data Structures
the data elements the user would see.
Composition Relationship
the whole has responsibility for the part. If the whole is deleted, the part is too.
instantiate
to create an object from a class
Event Table
used to create a data flow diagram by analyzing each event and the data used and produced by the event. Every row in an event table represents a data flow diagram fragment and is used to create a single process on a data flow diagram.
use case scenario
verbal articulation of exceptions to the main behavior described by the primary use case.
Presentation layer
what the user sees, corresponding to the interface or boundary classes.
Whole/Part Relationships
when one class represents the entire object and other classes represent parts.
Packages
• Containers for other UML things • Show system partitioning • Can be component packages • Can be physical subsystems • Use a folder symbol • May have relationships
Steps used in UML
• Define the use case model (an action). • Continue UML diagramming to model the system during the systems analysis phase. • Develop the class diagrams (the objects). • Draw statechart diagrams (the mode an object can be in). • Begin systems design by refining the UML diagrams. • Document your system design in detail.