How do we develop a software System
Use the Unified Process SDLC Methodology:
Start by gathering user Stories
Apply Lexical Analysis to find the data (nouns) and Actions (verbs) in the Business Domain.
Create Use Cases to do business process discovery.
Apply Lexical Analysis to generate UML from the Use Cases.
Forward Generate Java Classes and Database Schema from the UML
Create a Traceability Matrix to close the Method Calls with the Requirements.
What is Lexical Analysis
Study the Words in the Requirements Document:
Thing words --> Data Elements
Action words --> Methods in Java Classes
Describe the role of the V Model in Software Development and Maintenance
The V Model Connects the phases of the Development Lifecycle with the phases of the TEST Lifecycle.
What are Design Patterns
Proven, re-usable ways of connecting objects to deliver required patterns of Behavior.
A good example is IBM's San Franciso Model:
San Francisco (TM) is a collection of business process components and services using the latest object-oriented programming, frameworks, browser, and Java (TM) language technologies. It reduces the time and cost to build multiplatform business management systems. Independent Software Vendors (ISVs) can produce robust applications and components built on top of San Francisco reusable business process components and scalable services to execute in most environments.
What is the Requirements Document and where goes it come from?
We start the Unified Process methodology by gathering User Stories.
We create the Requirements Document by doing a lexical analysis on the User Stories.
The Requirements Document is a series of Shall Statements: They System Shall ...
Describe what the Business Domain is:
The collection of all the stuff:
hardware
software
data
business processes
That make up the "Company" or "Enterprise"
What is Agile?
A software engineering methodology based on UML. Described in the Agile Best Practices Guide.
What are Test Oracles - Where do we get them from?
We get Test Oracles from the intersection points of the Methods and the Requirements in the Traceability Matrix.
What are Anti-Patterns
Ways of component assembly that seem like a good idea at the time but end up creating systems that are difficult and expensive to:
Support
Extend
Maintain
What is an ACTOR
any entity that is:
External to the System
Initiates Action in the System or receives Value
An Actor is the Center of a Business Process: The Actor is the entity that does the steps that make the Business Process work
How does Project Management relate to the Software Development plan:
WBS
Agile is a superset of the PMI BOK
What is round trip engineering
Moving back and forth between the Design and Implementation Phases.
What is UML
A visual, graphical, notational language for working with the SUD.
Analyzing the "as is" system.
Designing the "to be" system.
Use Case
What is technical debt?
The price you pay tomorrow for working without a strong design architecture plan today.
Can a Use Case have 2 Goals
No: then it would be 2 use cases.
How does Unified Process connect to Software Testing:
Traceability Matrix