CSE 110 Quiz 3
________ is a structure described in a formal language supported by the database management system (DBMS) and refers to the organization of data as a blueprint of how a database is constructed .
Database Schema
Which of the following is not a good characteristic of a requirement? Atomic, Current, Extensible, Traceable, Unambiguous, Verifiable
Extensible
CRUD
Four basic functions of persistent storage. Create, Read, Update, Delete.
What is Business Logic?
High level functionality invoked by the Presentation Layer.
Software architectural pattern for implementing user interfaces. It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user.
MVC
What is a Manager Class?
Manages Data Access Objects
Action Classes
Member methods of Action Classes process user action from the apps view.
What is a model-view-controller?
Model: The data model, Business Rules View: Presentation of data to the user/client Controller: the interaction between the two
What are the inspection roles of a code review?
Moderator: Leader and coordinator of code review Reader: Reads document aloud to group Author: The person who created the the code to review Recorder: Documents defects found Inspector: Person examining the code looking for defects
A program that embodies SoC is called _____.
Modular
What is a Dispatch Class?
Performs validation with database access. Sends flow of control to Manager Classes to process data or to error handling
Member Methods of Action Classes
Process success, failure, or cancel user interaction.
What are some Pros of Pair Programming?
Produce shorter programs with better designs and fewer bugs Reduction in defect rates More design alternatives are considered Catch design defects early Arrive at more maintainable designs Complete work faster Difficult problems are easier when working together Best suited for tasks with more challenge and sophistication Knowledge passes between pair as they work Improved discipline Increased morals and greater confidence in code correctness
Attribute, capability, characteristic, or quality of a system for it to have value and utility to a customer, organization, internal user, or other stakeholder.
Requirments
Show what elements and functions are necessary for the particular project.
Requirments
Singular documented physical and functional need that a particular design, product or process must be able to perform.
Requirments
Showing how the system will appear and interact.
Sample Screens
Form Object
Serves as a central location to process all data inputted by the user and pass a single parameter to the Action Class.
____ usually states system requirements.
Shall
What is the presentation Layer?
Layer of code processing input fro the screen.
What is Data Access?
Low level database interface methods invoked from the Manager Layer.
What are some Pros of Test Driven Development?
More tests are written Programmers tend to be more productive Less need for debuggers Drives design via tests focusing on customer interaction with system Limits defects in code shortening implementation time Resultant code is modularized, flexible and extensible Automated tests cover every code path
Software Inspection
Peer review by trained individuals looking for defects using a defined process.
What is a Action Class?
Perform user requested actions with valid data.
What are software requirement derived from?
The steps in the use cases.
What are some Cons of Pair Programming?
Total programmer time increases For simple tasks, net drop in productivity
T or F: The controller should be light weight.
True
T or F: The view should be stupid and not know to much.
True
Actor (UML)
a role played by a user or any other system that interacts with the subject.
Two __________ will be reviewed per team each week.
code reviews Suggestion: as part of a team meeting - Time limit: 30 minutes - Project manager: * Selects the code to review * Splits team into two groups (can change weekly) * Assigns Inspection Roles - Due to small group: * Moderator can also be the Recorder * Everyone will act as an Inspector
List some benefits of Layered Architecture
- Simplifies design considerably - Enables different role players to effectively work at various levels of abstraction. - Supports the portability of software artefacts
Developer Integration Testing - Testing all code
- Verifies that all code works together - Performed locally by software developers - Usually performed as a separate phase of development - Sometimes informal, sometimes formal
Unit Testing
- Verifies that individual components work individually - Performed locally by software developer - Usually performed along with coding
What is Separation of Concerns?
A design principle for separating a computer program into distinct sections, such that each section addresses a separate concern. A concern is a set of information that affects the code of a computer program. Part of Aspect-Oriented Software Development.
What is a UML (Unified Modeling Language)?
A general-purpose modeling language in the field of software engineering, which is designed to provide a standard way to visualize the design of a system
What is the MoSCoW method? What do the letters stand for?
A technique used to reach a common understanding with stakeholders on the importance they place on the delivery of each requirement. M - MUST : A requirement that must be satisfied in the final solution. S - SHOULD : A high-priority item that should be included in the solution if it is possible. C - COULD : A requirement which is considered desirable but not necessary. W - WON'T : A requirement that stakeholders have agreed will not be implemented in a given release, but may be considered for the future.
Test driven development is a aspect of what development model?
Agile
__________ _________ ___________ focuses on the identification, specification and representation of cross-cutting concerns and their modularization into separate functional units as well as their automated composition into a working system.
Aspect-Oriented Software Development Ex: Calls to the audit system Made from most if not all Manager Class methods Maintains table of state transitions for messages and users Ex: Error processing Made from most if not all methods Exceptions thrown when errors encountered Exceptions caught and processed at central location
What is form class?
Class that performs validation without db access. Sends flow control to Action classes.
Systematic examination of computer source code
Code Reviews
It is intended to find and fix mistakes overlooked in the initial development phase, improving both the overall quality of software and the developers' skills.
Code review
What is Aspect Oriented Software Development?
Code that spans / touches all aspects of the project, supporting functionality. EX: Calls to the audit system are made from most if not all Manager Class methods
The value of separation of _______ is simplifying development and maintenance of a computer program.
Concerns
Validation of data or of who is the user, Creation of objects, Screen/page names to display should all be described in _______.
Design Use Cases
________ includes information essential for implementation to be successful
Design Use Cases
What is the difference between Use Cases and Design Use Cases?
Design use cases include information essential for the implementation to be successful. Look at each step in the Use Cases and consider what needs to be done and list those items in the Design Use Cases. Mainly the Steps / Workflow
What are some Cons of Test Driven Development?
Difficult to use when functional tests determine success / failure of system (User interfaces, Database, Network configurations) Not all managers are believers Tests must be maintained as part of project overhead Refactoring or design changes may result in many changes to tests Developer and test author are same leading to same blind spots High numbers of passing tests may lead to false sense of security
What are the roles of pair programming?
Driver - The person writing the code Observer / Navigator - reviews each line as it is typed Roles are switched often.
What is test driven development?
Failing test is written to verify new functionality. Code is only written to past the test. Code is factored into code base with acceptable standards.
T or F : Typically, teams use both Use Cases and User Stories in designing their software projects.
False
T or F: The model and the view should communicate with each other.
False
What are design use cases?
Use Cases from the point of view of what the system needs to due to accomplish the functionality described by a corresponding use case.
Look at each step in __________ and consider what needs to be done and list those items in steps of _____________
Use Cases, Design Use Cases
Agile or Waterfall : Formal requirements are a component of which methodology?
Waterfall
____ generally describes a systems purpose.
Will