The Software Engineering Process: Phase 1 Flashcards
(35 cards)
What is a “project”?
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.
What is the “Requirements” phase?
A method by which an engineer discovers the needs of a client.
What is the Goal of the Requirements phase?
To build artifacts that roughly describe the scope and needs of the project.
Who is the Client?
The person paying you to build the application.
Who is the Customer?
The person who buys stuff from the client.
Who is the Engineer?
The person designing the app by communicating with the client.
Why is a story important?
Clients and users are non-technical. They speak in stories.
Who is the Developer?
The person programming the app.
Who are Stakeholders?
Those people who will interact directly and indirectly with the project.
What is Elicitation?
Converting random user thoughts into artifacts.
What are Artifacts?
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.
What is the purpose of Artifacts?
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.
Describe the basic method used in the Requirements Phase
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.
What does it mean to Formalize Artifacts?
Use-case diagrams, sketches, schema-based documentation, and statements.
What is a Use-case Diagram?
A formalization of work.
List all the elements of a Use-case Diagram.
○ 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.
What are Actor Hierarchies?
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.
What are the Extends and Includes in a Use-case Diagram?
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.
How do you use comments in a Use-case Diagram?
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.
What are Sketches?
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.
What are Sketches also known as?
Wireframes and Mockups.
What are the steps to creating a Sketch?
- Draw a mockup.
- Draw arrows from one sketch to the next based on button presses (or other kinds of flows).
- Number the common order of operation.
What is Schema-Based Documentation?
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.
They are “schema-based” because you can use them to identify:
○ Database records & fields.
○ Data structure members.
○ Required input spaces in GUIs.