Lecture 16 Flashcards
The term software engineering refers
to
the study of software development on large scales.
The Waterfall Model
Marketing (Requirements) Analysis (Specifications) Design (Architecture) Implementation (Untested Software) Testing (Program) Maintenance
The idea of Use Cases is to determine
how potential users with differing roles would need to use a program to accomplish their tasks.
UML
Each class and interface gets specified, along with arrows to show the relationships among them. The methods (and fields, for classes) of each are also specified.
Focuses of Use Cases
“Who” can do “what”?
Each potential “who” is referred to as an actor.
“What” needs to be done, rather than “how” it should be done.
Use of Use Cases
They’re very useful for communicating with clients.
Relatively simple notation, visually clear.
Helps to flesh out requirements.
They also help to design test cases for later use.
Why is it important to get good requirements initially?
70% of all projects failed, or were incomplete due to going overbudget or overschedule.
Changing or unclear (poor) requirements.
Could be overlooked, incorrect or poorly communicated.
Analysis
Input
what data will be input into the program by one or more “actors”?
Analysis
Outputs
what data will our program generate that will be needed by one or more “actors”?
Analysis
Constraints
to model what objects represent in the real world more accurately.
Analysis
Assumptions
Are we operating under any sort of assumptions?
Either on our own part or on those of the client?
Analysis
Modifications
Whenever an object within the program is modified, will any corresponding changes be expected elsewhere within the system?
Analysis
Relationships/Effects
How are system-level modifications related to system constraints?
Once the specification is completed, the next step is to
determine the design for the desired system.
The goal of the design process is to
develop the potential structure for a codified system which would fulfill the determined specification for the desired program.