The hardest single part of building a software
system is deciding precisely what to build. — F.P. Brooks, The Mythical Man
Month, 1975
-
Requirements Analysis
—
Focus on the “Overview”–“Stakeholder
interviews” & “Requirements analysis
issues”.
- Compare and contrast the purpose of the analysis
and design phases?
- Who are the stakeholders of a project? Please sign
up as a stakeholder for some other project before
Friday’s lab (see the “Project Team
Stakeholders” list in our Moodle course; cf.
homework #3).
- How are requirements identified and recorded?
- What is the difference between functional and
non-functional requirements? (You’ll need to
search for this one on the wiki page.)
- What are the key issues related to requirements and
requirements elicitation?
- To what does FURPS refer?
-
Requirements Modeling
-
Unified
Modeling Language — Focus on the
introduction and the “Diagrams” section.
- What is UML?
- Compare and contrast UML’s two diagram
categories.
- Familiarize yourselves with the following diagram
types.
- Use case
- Class
- Sequence
- Deployment
We will use these in this course, starting this week
with use-case models and continuing with the other
diagrams in later units.
-
Use cases(and
use case diagrams) — Focus on the introduction
& “Fowler
style”–“Examples”.
- What is the purpose of use case analysis.
- What are the elements of Fowler’s use cases?
- What do the actors, use cases and association links
represent in a UML use case diagram?
-
User stories
— Focus on the introduction,
“Format”–“Usage” &
“Comparing with use cases”.
- What is a user story?
- What is the “Five Ws” format for a user
story.
- Compare and contrast user stories and use cases.
-
Re-read Postman’s article:
“Five Things We Need
to Know About Technological Change”, focusing on
the second of his ideas.
- Briefly name Postman’s five ideas.
- Describe his second idea and explain whether or not you
agree with him.
-
Technology Stack — Review the following basic technologies.
-
NodeJs —
Be clear on what NodeJS is and try to describe its
relationship with JavaScript, TypeScript, and React
Native. N.b., the documentation isn’t particularly
clear on this point.
-
React Native
Introduction — Work through these sections
of “The Basics” introduction using the
on-line Snack Player examples.
- “Core Components and Native Components”
— Be able to:
- Explain the nature and purpose of the
View component.
- Compare and contrast Core vs.
Native components (we’ll
generally be using the former).
- “React Fundamentals” — Be able to:
- Compare and contrast React Native
vs. React.
- Explain these constructs:
- JSX (cf. HTML)
- Custom Components
- Props
- State
- Hooks
- You can find more information on React, see
Learn
React > Quick Start, particularly
the “Thinking in React” section.
- “Handling Text Input” — Explain
the use of the TextInput component.
- “Using a ScrollView” — Explain the
use of the ScrollView component.
- “Using List Views” — Explain the
use of the various List View components.