Software Engineering Midterm Flashcards

1
Q

Type of analysis for an application system that:

  • Describes information systems by identifying things called OBJECTS
  • Objects are represented as Rectangle
  • Attributes follow, describing characteristics of that object
  • Methods specify tasks performed by that Object
A

What is an Object-Oriented analysis

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Can represent real persons, places, events, transactions

A

What are Objects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Programming languages used in Object-Oriented methodology

A
Java
Smalltalk
VB
Python
Perl
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Reasons programmers like O-O languages

A

Code is reusable, modular, easy to maintain

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Standard method of visualizing and documenting an information system

A

What is a UML - Unified modeling language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are five main terms & concepts used in O-O programming?

A
Classes - group of similar objects
Object - specific member of a class
Attributes - describe object
Message - command to perform method
Methods - object performs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are Attributes in O-O programming?

A

Characteristics that describe the object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are Methods in O-O programming?

A

Tasks or functions the object performs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are Classes in O-O programming?

A

Group or category of similar Objects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are Instances in O-O programming?

A

A specific member of the Class, a specific type of Object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

\much needed pause

A

\

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

A command that tells an Object to perform a certain method

A

What is a Message

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

The same message which can be used differently by two different methods

A

What is Polymorphism

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

When every methods and data are self-contained

A

What is Encapsulation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is specific to all Objects in a same Class?

A

They share the same Attributes and Methods

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Contains sub-categories of objects within a Class

A

What is a subclass

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

A general category that contains Classes

A

What is a superclass

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

In a UML model, they enable objects to communicate and interact as they perform business functions in a system

A

What are Relationships

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What do we call the strongest type of Relationship

A

Inheritance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Enables an object called Parent to derive one or more attributes to another object called Child

A

What is Inheritance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Diagram that shows the Objects as Entities, their relationships, and how they interact to perform functions and transactions

A

What is an Object / Entity Relationship Diagram - ERD

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Uses a set of standard symbols to represent graphically the various components and relationships within a system

A

What is a UML diagram

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Using an entity called an Actor, it shows steps in performing a specific function or process.

A

What is Use Case diagram/ Use case modeling

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

An oval and a label that describes an action or event

A

What is the symbol for a Use Case in a UML

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
What is the first step to represent in a Use Case
Drawing the boundary (rectangle), describing what is included in the system or not.
26
This diagram shows the object Classes , attributes, operations and their relationships in a UML
What is Class Diagram
27
How is a Class represented in a Class Diagram?
A rectangle, Class name at the top, followed by Attributes and Methods
28
What do lines show in a Class diagram
The relationships between classes
29
It describes how instances of one class relates to instances of another
What is Cardinality
30
A dynamic model of a Use Case, shows the interactions among classes during specific time periods
What is a Sequence diagram (shorthand version of a use case)
31
What does a Sequence diagram show?
Graphically represents classes and messages timeline sequence
32
Classes: Rectangle Lifelines: Dashed / dotted lines Messages: Arrow Focuses: Narrow vertical oval
What are the four elements of a Sequence diagram and how are they represented
33
This type of diagram shows how an object changes from one state to another in the system
What is a Transition diagram
34
Shows the actions and events as they occur
What is an Activity diagram
35
Speed up process of creating diagrams for Object Modeling by providing several frameworks and ensuring consistency
What are CASE tools
36
Describes a situation - either failure or an alternative chosen by the Actor - causing the system to exhibit different behaviors
What is an Exception
37
Can there be Validation functions during this use case? Can there be supporting functions - or Actors - that fail to respond? Can poor system performance result in improper user actions?
Issues to explore when dealing with exceptions
38
What is a Use Case
Represents a sequence of activities that involves the system and an Actor
39
Occurs every time the system and the Actor exchange information
What is an Event
40
Represents the fact that an information exchange has happened
What is an Event
41
They are used to trigger state transitions
What is an Event
42
Needs to be examined, with the use of an Actor, for all points of information exchange
What is a Use Case
43
Rule tried to be ensured by UX design
No aspect of the software appears in the final product without the approval of the stakeholder
44
Strategy / Scope / Structure / Skeleton / Surface
What are the Five UX design framework elements | [from abstract to concrete]
45
First part of the UX framework: | Identifies user needs and customer business goals at every touchpoint
What is UX Strategy
46
Part of UX framework: Includes both functional and content requirements needed to realize a UX design consistent with the project strategy The blueprint with which the developer will work
What is the UX Scope
47
Part of UX framework: | Consists of the information architecture, how the user will interact with the design,
What is UX Structure
48
Part of UX framework: First concrete expression of the design Comprised of three components: Information, Interface, Navigation designs
What is UX Skeleton
49
Part of UX framework: | Presents visual design or the appearance of the finished project to its users
What is UX Surface
50
Three design components of the UX Skeleton
Information design Interface design Navigation design
51
In UX Structure framework: | Structures the lead organization, labeling, navigation and search of content
What is the Information Architecture
52
Addresses the manner the application (code) is Structured to manage user interaction, effect navigation, and present content
What is the Software Architecture
53
Focuses on the manner Content objects are Structured for presentation and navigation
What is the Content Architecture
54
Process for identifying sub-systems making up the system Is conducted in parallel with Interface design, Aesthetic design, and Content design Decisions made during this structural step will influence work conducted during navigation design
What is Architecture design
55
What does Interaction design focus on?
Interface between product and user
56
``` Voice input Computer speech generation Touch input 3D printed output Sensor tracking Immersive reality experience ```
What are different modes of user input and outputs
57
Should be defined by the stakeholder in the user stories to describe how Users can achieve their goals using the software product
What is User interface
58
Should always include a plan for how the information should be presented within the system, and how to enable the User to understand all the information
What is User interface
59
The purpose of this interface is to present just enough information to help Users decide what their next action will be to accomplish their goal, and how to perform it.
What is User interface
60
A field that is concerned with the Human-Computer interaction portion of the software product when designing the Interface
What is Usability engineering
61
Designing a High-' ' and user friendly Human-Computer interface
Main focus of Usability engineering
62
Field concerned with human-computer interaction Its priorities / goals are to ensure that the Interface design is: Easy to Use Easy to learn Easy to remember
What is Usability Engineering
63
The degree to which people with special needs are provided with when navigating a software
What is Accessibility
64
An artistic endeavor that complements the technical aspects of the UX design
What is Visual design | graphic design
65
Without it a software may be unappealing | With it, it draws the user on a emotional / intellectual level
What is Graphic/Visual design
66
Place user in control Reduce user's memory load Make interface consistent
Golden rules of UX design
67
Flexible interaction Define interaction modes without unnecessary actions Allow interruptible interaction Hide technical internals Allow direct interaction with screen objects
Ways to achieve the rule : Place user in control in UX design
68
``` Reduce short-term memory demand Establish meaningful defaults Define good familiar shortcuts Use real-world metaphor visual cues Disclose information progressively ```
Ways to achieve the rule: Reduce user's memory load in UX design
69
Allow user to put task in meaningful context Maintain Consistency across applications Don't make unnecessary changes to user's expectations Be predictable
Ways to achieve the rule: Make interface Consistent in UX design
70
- User model - profile of all end users - Design model - design of the user model - Mental model - user's mental image of the interface - Implementation model - the interface's 'look and feel'
Four models for UI (user interface) design
71
Analysis that determines whether its components and the users interact effectively in the system
What is Interface analysis
72
Focusing on look, or style, a set of interface objects and actions that enable a user to perform all tasks in order to meet the goals of the system
What is Interface design
73
Steps in creating it include making a prototype that enables usage scenarios to be evaluated, its structure, concepts, and the design
What is the Interface
74
The final step of creating Interface, it needs to meet these criteria beforehand : Ability of interface to implement user task correctly Degree to which the interface is easy to use/learn User's acceptance of it as a tool
What is Interface Validation
75
In User experience design, what is the understanding of: The people interacting The tasks performed The content presented The environment in which tasks will be conducted
'Understanding the Problem' In UX design
76
A map used by UX developers as a means to outlining goals and plans for a software product
What is a Customer Journey map
77
A visual representation that is built using this framework: - Gather stakeholders - Conduct research - collect all information - Build model - create visualization - Refine design - recruit designer - Identify gaps - in user experience - Implement your findings - assign to resolve design
What is a Customer Journey map
78
Collect all information about all things users may experience as they use the software product Which step of creating a Customer Journey map?
Gather stakeholders & Conduct Research for a Customer Journey map
79
Recruit a designer to make the deliverable visually appealing and ensure touchpoints are identified clearly Which step in creating a Customer Journey map?
How to Refine designs for Customer Journey map
80
Data collection & Analysis - stakeholders collect info Describe archetypical user - decide how many to create Develop scenarios - user stories about Acceptance by stakeholders - validate scenarios
Creating and using Personas in UX design
81
Analysis or study on how the user will accomplish one or more Tasks via the software. Supports the user in achieving their goals
What is a Task Analysis / Goal of Tasks
82
Analyzes: - What Work will the user perform in specific circumstances? - What tasks will be performed? - What problems will the user manipulate? - What is the sequence - workflow of work tasks? - What is the hierarchy of tasks?
Questions answered by Task Analysis / Goal of tasks
83
- Understand - researches for the product - Sketch - stakeholders brainstorm - Decide - stakeholders present sketches - Prototype - based on sketches or customer journey map - Validate - devs. watch users try prototype
The 5 steps of the Google 5-Day UX design sprint
84
- People - (most important) - Product (software to be built) - Process (set of framework activities) - Project (work required to make it a reality)
What are the four Ps of the Project Management spectrum?
85
- Senior managers - define business issues - Project (tech) managers - must plan, organize, motivate practitioners - Practitioners - deliver tech skills - Customers - specify requirements for software - End-users - interact with software
The five categories of Stakeholders
86
- Model the way (lead by example) - Inspire / share vision (motivation) - Challenge process (experiment) - Enable others to act (share decision making) - Encourage the heart (shared goals)
Five exemplary practices of Team Leaders / Project Managers
87
- Difficulty, quality and size of the project - Team's communication and lifetime - Degree of modularization - Rigidity of end date
Factors affecting software team structure
88
- Frenzied work atmosphere - High frustration - Fragmented procedures - Unclear roles - Repeated failure
Factors creating team toxicity
89
- Team members trust each other - Appropriate distribution of skills - Exclude mavericks - Self-organizing team
Characteristics of Agile teams
90
- Team selects own approach - Adaptive team structure - Minimum planning
What are Agile self-organizing teams
91
- Scale of team's development effort - Uncertainty, stream of changes in project - Interoperability, making sure new software adapts to existing software
Team Coordination and Communication issues
92
The two ways of accomplishing team communication and coordination
Formal and informal communication Formal (writing, meetings, etc) Informal (more personal)
93
Must be unambiguous and understandable at both management and technical levels
What is the software project Scope
94
Questions to ask when defining it: Context Information objectives Function and performance
Software project Scope
95
One of the factors affecting the software Scope: | How does the new software fit into a larger existing system
What is Context in a software Scope
96
Part of the software Scope: Well-defined boundaries and " " objectives that should be included What are the totality of data objects produced as output? What are the data objects required for input?
What are the Information Objectives in a software Scope
97
What are these two aspects of software Scope called: What Functions does the software perform Are there any special Performance characteristics
What are Function and Performance aspects of a software Scope
98
Also called Partitioning or Problem elaboration
What is Problem Decomposition
99
Once Scope is defined, it is compartmentalized into functions or into problem classes This process continues until all functions or Problem classes have been defined
What is Problem Decomposition
100
Continues until all functions or problem classes have been defined
What is Problem decomposition
101
This model is an abstraction of the software development " " The model specifies the stages and order of the " " To define this model, we need to know whether it is appropriate for Customers, Workers and work environment, and the characteristics of project itself
What is the Process Model
102
- Requirements are clear and well understood - Active and continuous participation of Users - Project manager has all required skills - A project plan developed with stakeholders - Working product that reflects Scope and Quality
Characteristics of Successful projects
103
- Has a skilled and engaged team - Dev team composed of compatible personalities - Realistic schedule and budget estimates - Customer needs are understood - High degree of job satisfaction
More characteristics of Successful projects
104
- Why is the system developed - What will be done - When will it be done - Who is responsible - Where is the organization located - How will the job be done - How much data resource is needed
What is the W^5HH Principle
105
Critical practices for this type of management: - Formal risk management - Cost and schedule estimation - Metrics-based project management - Earned value tracking - Defect tracking against quality targets - People aware project management
Performance-based management critical practices
106
Issues/questions regarding: - Resources - Costs - Schedule
Uncertainties when making Estimates
107
- Experience - Access to good historical info - Courage to commit to predictions
Requirements for good Estimations
108
Caused by issues such as: - Project complexity - Project size - Degree of uncertainty
Uncertainties when making Estimates
109
``` Work Tasks such as: -Establish Scope -Determine feasability -Analyze risks -Define required resources -Estimate cost and effort -Develop project schedule Repeat for each prototypes ```
Task Set for Project planning
110
Basic resource types that must be defined for this type of planning: - Human resources - Software resources - Environment resources
Project planning: Three resource types that must be defined
111
Algorithms are used to get these two estimates: - Decompose problem - Develop two or more estimates - Reconcile estimates
What are Cost and Effort estimates
112
Scheduling: First steps in developing it: - Establish meaningful Task set and timeline - Define task network
What is the Initial Project Schedule
113
Describes: - Functions and features to be delivered to end users - Data input and output - Content presented to users - System performance, constraints, reliability, interfaces
What is Software Scope
114
Two techniques used to define it: - First way: A narrative description developed after communication with all stakeholders - Second way: A set of Use Cases developed by end-users
What is Software Scope
115
After Scope is identified, questions that must be asked about the project: - Can we build software to meet this Scope? - Can the system be created using available technology, money, time? - Consideration of business needs (is there a necessity for this product)
Project Feasability questions
116
- Delay estimation until late - Base estimate on similar projects - Use simple decomposition techniques - Use one or more models for Cost estimation
Options to achieve reliable Cost and Effort estimates
117
- Check estimate using different approach - Compare your multiple estimates - Check estimates reliability
How to Check reliability of estimates
118
- Scope of project has been misinterpreted | - Inappropriate or misapplied productivity data
Reasons for widely divergent Estimates
119
To help with project estimations, They can be used as estimation variables to 'size' each element of the software, or as baseline metrics collected from past projects
LOC and FP data uses for project estimation
120
- Those two problem-based estimate tools share these characteristics: - Begin with bounded statement of software Scope - From this, attempt to decompose into problem functions - Estimation variable is then estimated for each function
FP and LOC Problem-based estimates common characteristics.
121
Steps to create this type of estimate: The project is Decomposed in small set of tasks and the effort required to accomplish each task is estimated - Framework activities are represented as a table for analysis
What is a Process-based estimation
122
Steps to create this type of estimate: - Each user story is considered separately - Each user story is decomposed in a set of tasks - Each task is estimated separately - Estimates for each tasks are summed - Effort estimates for all user stories are summed
Characteristics of Agile project estimation
123
- Unrealistic deadlines - Changing requirements - Underestimate of amount of effort - Technical difficulties - All risks not considered - Miscommunication - Human difficulties - Failure to recognize it's falling behind
What are common reasons for late projects
124
Basic principles: - Compartmentalization - Inter dependency - Time allocation - Effort validation - Defined responsibilities - Defined outcomes - Defined milestones
What is Scheduling principles
125
The act of decomposing / separating the product from the process
What is Compartmentalization
126
It increases the need for information sharing and synchronization of tasks Needed to determine each compartmentalized activity or task
What is Inter-dependency
127
Part of Scheduling where we allocate the number of hours, and assign a start and end date
What is Time allocation
128
Part of scheduling to ensure that the right number of people have been scheduled to work together at any given time
What is Effort allocation
129
Part of scheduling to make sure that every task is allocated to specific team members
What is Responsibilities allocation
130
- Concept Scoping - Preliminary concept planning - Tech risk assessment - Proof of concept - Concept implementation - Customer reaction
Complete Task Set for a Concept development
131
- Periodic project meetings - Evaluating results - Determine whether milestones will be accomplished - Comparing actual start date to planned start date - Assessments of progress to date - Tracking project velocity
What is Schedule tracking