The Software Engineering Process: Phase 1 Flashcards

(35 cards)

1
Q

What is a “project”?

A

A mess of spoken and unspoken ideas and needs expressed in non-technical and imperfect ways by the client. The engineer must transform this collection of randomness into a specific scientific design.

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

What is the “Requirements” phase?

A

A method by which an engineer discovers the needs of a client.

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

What is the Goal of the Requirements phase?

A

To build artifacts that roughly describe the scope and needs of the project.

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

Who is the Client?

A

The person paying you to build the application.

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

Who is the Customer?

A

The person who buys stuff from the client.

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

Who is the Engineer?

A

The person designing the app by communicating with the client.

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

Why is a story important?

A

Clients and users are non-technical. They speak in stories.

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

Who is the Developer?

A

The person programming the app.

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

Who are Stakeholders?

A

Those people who will interact directly and indirectly with the project.

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

What is Elicitation?

A

Converting random user thoughts into artifacts.

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

What are Artifacts?

A

Things you build like storyboards, flowcharts, screenshots (rough drawings) of the GUI, and Database/File schemas. They can also be things that you collect like photocopies of existing forms, documents, printouts, copies of old databases or files or images, contact numbers/names of all stakeholders, list of constraints, requirements, and assumed technologies.

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

What is the purpose of Artifacts?

A

Artifacts are rough pencil drawings that have not been formalized. They are needed to consolidate the conversation into tangibles that can be critiqued by you and the users/client.

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

Describe the basic method used in the Requirements Phase

A

1.Meet person A.
2.Construct artifact(s).
3.Confirm artifact(s) with person A.
4.Repeat until all artifacts are completed with person A.
5.If there are more stakeholders, then let A = the next stakeholder, and go back to step 1.
6.When this is done, have a final meeting with everyone to see if everyone agrees with the artifacts or identifies missing elements. If not complete, repeat with the missing element(s). Add an extra engineer or senior developer in the mix as a second opinion about your artifacts.
7.When done, call for a sign-off and a freeze.

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

What does it mean to Formalize Artifacts?

A

Use-case diagrams, sketches, schema-based documentation, and statements.

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

What is a Use-case Diagram?

A

A formalization of work.

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

List all the elements of a Use-case Diagram.

A

○ System: the complete workflow in question.
○ Neighboring System: a program using an API.
○ Actor: Human.
○ Use-case: a workflow description.
○ <<includes>>: something that must happen.
■Arrow points away from the parent.
○<<extends>>: something that optionally happens.
■Arrow points towards the parent.
○Inheritance: workflow contains parent workflow.
○Line: interacts with a use-case or system.

16
Q

What are Actor Hierarchies?

A

These represent the users of the app and are great for adding meaning and context. Actor Hierarchies allow for flexibility when describing which actors interact with a particular use case. For instance, you can say that all employees interact with a use-case, but you also have the flexibility to say only the manager interacts with this use-case if you want to exclude cashiers.

17
Q

What are the Extends and Includes in a Use-case Diagram?

A

The <<extends>> arrow points towards the parent use-case and means an optional activity. The <<includes>> arrow points away from the parent use-case and indicates that the workflow continues to this new use-case.

18
Q

How do you use comments in a Use-case Diagram?

A

You can use a paper marker to contain the comment. The dash circle points to the part of the diagram to which the comment applies. Type brackets specify a type or classification to anything. You can also add conditional statements.
○ A paper marker without a dash circle indicates that the comment is for the entire diagram.
○ <<type marker>> provides additional information about an element.

19
Q

What are Sketches?

A

An informal way to present screens and reports while meeting with a client. This is done on paper and not with a computer. Sketches turn client ideas into artifacts and provide great discussion points. It is a great method to use immediately in front of the client when they start talking about UI elements, like screens and reports/printouts.

20
Q

What are Sketches also known as?

A

Wireframes and Mockups.

21
Q

What are the steps to creating a Sketch?

A
  1. Draw a mockup.
  2. Draw arrows from one sketch to the next based on button presses (or other kinds of flows).
  3. Number the common order of operation.
22
Q

What is Schema-Based Documentation?

A

Schema-based documentation involves gathering hard copies of things clients already produce, such as:
○ A photocopy of a form.
○ A printout of a report.
○ Photo of a GUI from a competitor application.

23
Q

They are “schema-based” because you can use them to identify:

A

○ Database records & fields.
○ Data structure members.
○ Required input spaces in GUIs.

24
What is an Impact Statement?
An impact statement provides a broader discussion about the product's effects on sustainability, human-machine interaction, climate change, etc. This includes identifying both positive and negative effects. ○ Impact on society: How will the app interact with the broader community? ○ Impact on the planet: Energy consumption, needed raw materials, climate change, warehousing needs, etc. ○ Impact on industry: Customer impact, stakeholder impact, impact on competitors, governmental considerations, raising standards, competition, etc. ○ Mitigation and Profitability decisions: If any, what steps will be used to mitigate negative impacts? If any, how will positive impacts be shared or profited?
25
What is an Ethics Statement?
An ethics statement provides a broader discussion about the product's ethical impact on society and the planet. ○ Ethical implications: Dangers and benefits to humans, dangers and benefits to the planet, edge cases to keep in mind. ○ Mitigation and Profitability decisions: If any, what steps will be used to mitigate negative ethical implications? If any, how will positive implications be shared or profited?
26
What is a Performance Statement?
A performance statement identifies the stakeholder's run-time performance expectations and what you promise to deliver. ○ Run-time: Expected Big Oh for the app. ○ Network load: How many packets per second, average & worst case, are expected? ○ Data warehousing needs: Discuss data needs in megabytes (or gigabytes). ○ Turn-around time: What should the user’s worst-case wait time be while using the app? ○ Restart time: If the app crashes, how long will it take for the app to restart?
27
What is Sign-Off & Freeze?
The client in charge signs off that there is nothing further to add to the project and that the artifacts are good in their rough form, with the condition that you will produce a finalized document outlining the plan. This formal final document must be signed off by the client before programming can begin. The sign-off contract has a clause stating that the project is now frozen, meaning no further elements can be added to the project without restarting from the beginning.
28
What is Feature-Creep or Scope-Creep?
Feature-creep or scope-creep is when, after the freeze, the client changes their mind, or more commonly, wants to add additional elements to the agreement/program.
29
What are possible solutions for handling feature-creep?
○ Version 2 List: Ideally, record all new ideas but be clear they will not be added to this version of the project. ○ Stop the project and redesign/re-cost: If the client insists that their new ideas “must be added to the project!”, you may need to stop the project, redesign it, and re-cost it. Creep tends to disrupt many unexpected places, even the very little ones (because, on success, they are encouraged to request additional little changes. Eventually, these reach a tipping point).
30
hat is the Importance of Sign-Off & Freeze?
○ Scope creep control. ○ "No, I did not tell you to build that!" control. ○ Coverage confirmation (nothing was forgotten).
31
What is a Contract?
Contracts are the agreements between the engineer and the client. A Memorandum of Understanding (MOU) contains: ○ Sign-off: The sign-off for all the artifacts (didn't miss anything!). ○ Checkpoint: Promise to build a formal final document (Specification Document), with an opportunity to cancel, rework, or proceed to development. ○ Protection: Contains an agreement to freeze the artifacts with the understanding that a new MOU and artifact(s) would need to be constructed if anything changes.
32
List the different types of Contracts.
○ Memorandum of understanding. ○ Specification document sign-off (the plan). ○ Project budget and timeline with penalties.
33
What are the two main populations in Engineering?
○ Client: All the stakeholders who will use or interact in some way with the final application. ○ Engineers: Those people who will build the application.
34
What are the types of Documents for each population in Engineering?
○ Contracts for clients: MOU, Specification Document, Budget & Timeline Statement, Legal work contract. ○ Reports for engineers: Design Document, Development Plan, Deployment Plan, Commenting-as-documentation, Technical Manual.