Determine order of stages involved in software development and evolution and establish the transition
criteria for progressing from one stage to the next.
Development Stages:
Requirement engineering (Analysis)
o Identify what the system should do
o Define non-functional requirements
Design
o Giving shape to the system based on requirements
Implementation (Code)
o Executable software
Testing (this isn’t touched in the course)
The waterfall development process:
Fixed stages and sequential
Good for document-driven development
Poor agility
o Doesn’t give a good idea for what is happening in the project
o Single delivery date
High risk
o Only in the testing section we talk with customers, which could cause
miscommunication
The Agile development process:
Relies on sprints that last 2 weeks
Focus on specific features iterative development
Continues interaction between dev. team and customer
Less risky however it doesn’t have a strong quality plan
Lecture 1.4 Requirements engineering
The process of establishing features and quality requirements
A requirement may range between a high-level abstract statement of a feature and a detailed
functional specification.
Focuses more on how the system is working
Could be more critical than functional requirements safety requirements
Categories of quality requirements:
o Usability, maintainability, reliability, responsiveness, availability, and security
Lecture 2.1 UML
Most used language for modeling software
Main characteristics:
Not tied to any dev. process
Can be used across the whole life cycle
Scalable
Has different representations
o Graphical, textual, etc.
Supports descriptive and prescriptive models
Semi formal modeling language
o Has a well-defined meaning
UML can be represented graphically by diagrams:
Structure diagram
o Emphasizes on static description of system elements
o Example: class and object diagram
Behavior diagram
o Show the steps that can be performed in a system
o Example: state machine and sequence diagram
Important: A UML model contains everything related to your system it’s complete
You can use eclipse papyrus to create a UML diagram.
Lecture 2.2 UML case diagram
Class construction plan for a set of similar objects of a system
, First define the attributes:
Visibility:
Important: have private as a default, helps to pin-point bugs
Properties:
Class variable and class operations:
Instance var. (instance attribute)
Class var. (static attribute)
Class op. (statistic operation)
One can create specifications of classes that are coarse-grained or fine-grained.
Important: one can use a coarse-grained class diagram as a descriptive model.
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller dvolpin. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $5.44. You're not tied to anything after your purchase.