The Software Engineering Process: Phase 2 Flashcards

(11 cards)

1
Q

What is the purpose of the specification document?

A

● The specification document serves as a bridge between the initial requirements gathered from the client and the technical design of the application. It formalizes the client’s expectations in a structured and comprehensive way, using their language while adhering to engineering principles.
● This document acts as the foundation for the subsequent design document and serves as the basis for the client’s sign-off on the project.
● It ensures that all parties have a clear and shared understanding of the project scope, features, and functionality before proceeding to the design and development stages.

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

What are the key sections of a specification document?

A

A well-structured specification document typically includes the following sections:
● Title Page: Includes the project name, date, author(s), and company name.
● Contents: A table of contents outlining the document’s structure and page numbers.
● Resources: A section listing all references, photocopies, templates, forms, digital source locations, and an index, with each resource section starting on a new page.
● Background: Provides context and motivation for the project, including the problem it addresses, the primary stakeholders, and other relevant information.
● Overview: Summarizes how each stakeholder will use the application, expected development start and completion dates, storyboard diagram, and deployment diagram.
● Definitions: Defines branding elements, required technologies, project and system constraints, client expectations, and impact/ethics/performance statements.
● Screen Layouts: Presents mockups of all user interface screens, including specialty screens (welcome, termination, error/warning).
● Schemas & Queries: Defines file structures (database diagrams, table structures, formatted text files) and operations on them (queries, API definitions).
● Critical Sections: Identifies and describes crucial parts of the application, outlining the proposed solution and a flowchart illustrating the solution.
● Effort Estimation: Includes the optimal workflow graph, effort estimation table, Gantt chart, and estimated project cost.

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

What are important diagrams in the specification document, and what are their purposes?

A

●Storyboard:
○Presents a high-level flowchart of the application from the user’s point of view.
○Illustrates all possible user interaction paths, with nodes representing UI elements or background processes and arcs representing triggers.
○Provides a visual overview of the application’s flow and key functionalities.
●Deployment Diagram:
○Describes how the application will be installed and integrated within the client’s infrastructure.
○Details devices, execution environments, components, documents, and communication channels.
○Offers a technical view of the system’s physical deployment and architecture.
It’s important to provide clear explanations for each diagram to ensure the reader understands their interpretation.

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

What are the essential elements of screen layout design?

A

Screen layouts should include:
● Realistic Diagram: A visual representation of the screen’s appearance and layout.
● Branding: Adherence to the agreed-upon color palette, logo, and overall look and feel.
● Numbered Bubbles: Markers identifying specific elements of the mockup for description.
● Description Table: Detailed explanations of each numbered element in the mockup.
This approach helps the client visualize the user interface and provide feedback on its design and usability.

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

How are schemas and queries defined in the specification document?

A

● File Structures: Defined using appropriate representations for each file type, including:
○ Database Diagram: Visualizes the relationships between tables/files.
○ Database Table Structures: Detailed tables outlining field names, types, lengths, keys, constraints, and legal values.
○ Formatted Text Files: Presented in their standard formats (e.g., CSV, XML).
● Operations:
○ Queries: Described using SQL statements, regardless of the actual implementation, for clarity and formality.
○ Remote API Definitions: Includes API signatures, descriptions, usage rules, and return structure (typically JSON).

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

What is a “critical section” in the specification document?

A

A critical section refers to any part of the application where the client expresses concerns about the correctness or complexity of a particular operation. These sections are crucial to address as they may involve significant technical challenges or risks.
Examples from the source:
● A live bus app failing to retrieve real-time data for a specific bus.
● Potential data corruption during a multi-packet download.

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

How are critical sections documented and presented?

A

● Table of Contents: A list of critical sections, indexed by subsection number and corresponding storyboard box name, provides an overview and location within the application’s flow.
● Description: Each critical section includes a title, location in the program, explanation of its importance and purpose, and a proposed solution described in words.
● Flowchart: A visual representation of the proposed solution, using standard flowchart symbols and human-readable text, helps illustrate the logic and steps involved.

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

What is the purpose of effort estimation?

A

Effort estimation aims to determine the time, resources, and cost required to complete the project. It involves:
● Optimal Workflow Graph: Identifying the shortest theoretical path to completion without considering constraints.
● Effort Estimation Table: Listing each task or node, its duration, and preconditions.
● Gantt Chart: A calendar-based visualization of the project timeline, showing task durations, dependencies, milestones, and resource allocation.
● Estimated Project Cost: A detailed breakdown of all project expenses, including labor, software, equipment, and additional costs.

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

What are the different software development workflows, and how do they impact project execution?

A

What are the different software development workflows, and how do they impact project execution?
Back: The choice of workflow significantly impacts the project’s planning, execution, and overall success. The main types include:
● Waterfall: A linear and sequential approach, where each phase (requirements, specification, design, development, deployment) is completed before moving to the next.
○ Advantages: Simple to understand and manage, well-suited for projects with stable requirements.
○ Disadvantages: Inflexible to changes, late detection of issues.
● Prototyping: Iterative development focused on building and refining working prototypes.
○ Advantages: Early feedback from users, adaptable to changing requirements.
○ Disadvantages: Potential for scope creep, increased development time.
● Spiral: A risk-driven approach that emphasizes iterative cycles of planning, risk analysis, development, and evaluation.
○ Advantages: High-quality output, effective for complex projects with high uncertainty.
○ Disadvantages: Expensive and time-consuming, requires expertise in risk management.

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

What are common variations or modifications to the basic workflows?

A

● Agile: Emphasizes flexibility, collaboration, and iterative development in short cycles (sprints) to respond to changing requirements.
● Iterative by Module: Focuses on developing and testing individual modules before integrating them.
● Iterative by Stakeholder Sign-off: Involves regular presentations and approvals from stakeholders at various development stages.

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

How is the delivery date for a project determined, and what factors are considered?

A

● Shortest Path: The effort estimation graph helps determine the shortest path to completion, considering parallel work constraints.
● Padding Time: A buffer of 10% or more is added to account for unexpected problems and delays.
● Calendar Considerations: Weekends, holidays, vacations, and sick days are factored into the schedule.
● Gantt Chart: The final delivery date is visualized on the Gantt chart, reflecting all these considerations and milestones.

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