Intro to Software Engineering Flashcards

1
Q

First Step in software development

A

Getting requirements of customers

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

Why create requirements document

A

It tells customers what they are getting and project members what they’re building

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

What is the 2nd step of software development?

A

Gather high-level design of software

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

What does the high-level design include?

A

Information about what data design to use: 2-tier or 3-tier or direct access.
2 tier is client-server architecture
3-tier is client-server where there is a presentation, data processing and data storage tiers
data process

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

What do you do in the high level design?

A

break the project into large pieces that handle the project’s major areas of functionality.

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

What happens in the development step?

A

Programmers continue refining the low-level design until they know how to implementt those designs in the code

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

What are the parts of the deployment step?

A

New computers for the back-end database
Special data maintenance chores to keep the old and new databases synchronized
On-site support while users get to know the new system
New computers for users
A new network
User training
Parallel operations while some users get to know the new system and other users keep using the old system
Massive bug fixing when 250 users discover dozens or hundreds of bugs that testing didn’t uncover

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

What step comes after the deployment step?

A

The maintenance step

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

What is a formal definition of software engineering?

A

An organized, analytical approach to the design, development, use, and maintenance of software

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

Why is Software Engineering Important?

A

It lets you control what otherwise might seem like a random whirlwind of chaos

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

What is the Waterfall development model?

A

Requirements
Analysis and Design – high-level design
Development / Coding
Testing
Deployment and Maintenance

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

Waterfall approach is based on

A

The process of manufacturing products

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

True or False? The Waterfall model has well-defined checklists, processes, and tools and comprehensive documents

A

True

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

Requirements gathering

A

You need to find out who the customers are, what they want, and what they need.

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

requirements Documents

A

These documents tell the cusotmers what they will be getting, and the project members what they will be building

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

High Level Design

A

includes such things as decisions about what platforms to use (desktop, laptop, table, or phone), what data design to use (direct access, 2-tier, or 3-tier) an dinterfaces to other systems (such as external purchasing systems.

Should also include information about the project architecture at a relatively high level. This might include modules or classes to build

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

Low Level Design

A

Should take the chunks of the high-level design and break each of those down into manageable pieces for each team involved in the development.

Like the database for a Student grades site, should include tables for the Student, available student Courses, and the Grades in those courses for each Student

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

Development

A

Programmers continue refining the low-level design until it would be easier just to write the code instead.

testing/bug hunting also occurs during this phase

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

Testing

A

Break the code into pieces
- Developers test it
- testers test it (people who didn’t develop the code)
- once the code seems to be working then the code is inserted back into the main file and the whole thing is tested.

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

Good testing practice

A

Anytime you change the code you need to test it to make sure everything works as it should

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

Speaking about finding and fixing bugs, what is one of the most important rules of software engineering

A

The longer a bug remains undetected, the harder it is to fix

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

When is testing critical?

A

At every stage of development

23
Q

Deployment (to a company) might involve any of the following:

A

New computers for the back-end Database
A new network
New computers for the users
User training
On-site support for the users to get to know the new system
Parallel operations (while some users still use the old system and some are learning the new one)
Special data maintenance (to keep the old and new DBs synchronized
Massive bug fixing as users uncover problems with bugs that hadn’t been fixed yet (by testing)
Other unpredictable things

24
Q

Deployment

A

When you roll your software out to your customers

25
Q

Maintenance

A

Killing bugs and adding enhancements, improvements, and new features

26
Q

Wrap up

A

Conduct a post-mortem of the project

27
Q

Requirements

A

important for setting a projects direction

28
Q

Document Management features that are less common but still useful (not the REQUIRED features of good document management system)

A
  • ability to access documents over the internet
  • ability for multiple people to cllaborate on documents
  • integration into other tools (like MS Office)
  • document branches so you can split a document into two paths for future changes
  • user roles and restricted access lists
  • email change notification
  • workflow support and document routing
29
Q

change control board

A

they review, approve, or reject change requests

Should usually have a final arbiter to make final decisions on the requests

30
Q

Document management system should have, at minimum:

A
  • People can share documents so that they can all view and edit them
  • Only one person can edit a document at a given time
  • You can fetch the most recent version of a document
  • You can fetch a specific version of a document by specificying either a date or version number
  • You can saearch documents for tags, keywords, and anything else in the documents
    *You can compare two versions fo a document to see what changed, who changed it, and when the change occurred.
31
Q

What is the purpose of documentation?

A

To be sure that everyone is headed in the same direction

32
Q

source code control system

A

Allows all developers to use the code, a dveloper checks out a module of code and can work on it, and other developers can still use the most recently saved version but can’t make updates until the developing developer releases it

33
Q

Source code is written for

A

People. Computers don’t understand it until it has been compiled or interpreted

34
Q

JBGE

A

Code documentation should be Just Barely Good enough – if you provide too much documentation and comments it will be difficult to maintain.

35
Q

summary token

A

explains the method’s purpose

36
Q

param tokens

A

describe the method’s parameters

37
Q

application documentation

A

documentation to help explain what the application does, and how.
training manuals
user manuals
cheat sheets
marketing materials
quick start guides

38
Q

executive champion
or
executive sponsor

A

the highest ranking executive who supports your project

39
Q

executive champion duties include

A

Providing necessary resources
* Making “go/no-go” decisions
* Giving guidance on high-level issues such as how the project fits into the company’s overall business strategy
*Helping navigate any administrative hurdles required by the company
* defining the business case
* working with users and other stakeholders to get buy-in
* providing feedback to developers about implemented features
*buffering the project from external distractions
*refereeing between managers, users, devlopers and others interested in the project
* supporting the project team
* staying out of the way

40
Q

Project Manager

A

the highest-ranking member of the project team. Monitors the project’s progress to ensure that work is heading in the right direction at an acceptable pace and meets with customers and stakeholderst to verify that the finished product meets their requirements

41
Q

Project manager duties

A
  • Helping define the project requirements
  • Tracking project tasks
    *Responding to unexpected problems
  • Managing risk
  • Keeping users up-to-date on the project’s progress
  • Providing an interface between customers and developers
  • Managing resources such as time, people, budget, hardware, and software tools
  • Managing delivery
42
Q

Software Development Lifecycle

A

SDLC
Requirements
High Level Design
Low Level Design
Development
Testing
Deployment
Maintenance
Wrap up

43
Q

Project manager

A
  • ensures that work is heading in right direction and at an acceptable pace
  • meets with customers and stakeholders to verify that the finished product meets their requirements
44
Q

Osborn method

A

Focus on Quantity
Withhold Criticism
Encourage unusual ideas
Combine and improve ideas

Also known as “brainstorming”

45
Q

Functional requirements

A

Describe a project’s capabilities

Things the application should do

46
Q

Non functional requirements

A

Statements about the quality of the application’s behavior or constraints on how it produces a desried result

47
Q

Prototype

A

A mockup of some or all of an application

48
Q

Document control system

A

Prevents two people from making changes to the same document at the same time

49
Q

UML

A

Let’s you specify how parts of the system should work.

It uses several kinds of diagrams to represent different pieces of the system. Some represent program items like classes.
Others represent behaviors, like how data flows through a system

Unified Modeling Language

50
Q

Audience oriented requirements

A

Categories of requirements that focus on different audience and the different points of view that each audience has

51
Q

List the Audience-Oriented Requirements

A

Business requirements

User requirements

Functional requirements

Nonfunctional requirements

Implementation requirements

52
Q

Functional requirements

A

Things the application should do

53
Q

Nonfunctional requirements

A

How the applications produces the desired result - specifying things like the application’s performance, reliability, and security characteristics