Waterfall model:
Software Engineering is a collection of techniques,methodologies and tools that
help with the production of a high quality software system developed within a given
budget before a given deadline while change occurs
Unified software development process:
● Developed by the team that created UML(Unified modelling language)
● Adopts an interactive approach with 4 main phases – Inception, elaboration, construction, and Transition.
4 phases:
Inception :
● It is about feasibility (questions from technical, economic, organisational aspects)
● Main deliverable is a vision document (identify requirements, describe feasibility & risk.
Elaboration :
● Analysis and design workflows are the main work.
● Main deliverables are the UML diagrams.
Construction (focus on programming) :
● Main deliverable is an implementation of the system that can be released for beta and acceptance testing.
Transition :
● Deliver new system to its end-users, including user trainings.
● Main deliverables are the working system, user manuals, plan for upgrading.
Waterfall lifecycle:
1. In a waterfall cycle project, the phases and the workflows are linked together.
2. In the Requirements phase, only Requirements workflow activities are carried out.
3. In the Requirements phase, only Requirements workflow activities are carried out.
4. in the Requirements phase, only Requirements workflow activities are carried out.
Development methodologies – Waterfall and Unified
Criteria for software quality:
External qualities:
● Correctness: Perform as intended by the client
● Reliability: Absent from failures
● Usability: Ease of learning & use
● Safety: Does not pose a risk to humans & property
● Secure: Vulnerability to malicious attacks
Internal qualities:
● Maintainability: should be easy to upgrade for new features
● Reusability: modules of it can be reused for related projects
● Portability: can be adapted to run on different types of
machines, operating systems
Unit 3:
Software modelling:
Abstract shapes – used to show things or actions from the real
world.
Types of diagrams(static vs dynamic model:
Static Models (Structural Aspects):
● Class Diagrams
● Package Diagrams
● Type Diagrams
Dynamic Models (Behavioral Aspects):
● Use Case Diagrams
● Sequence Diagrams
● Collaboration Diagrams
● Activity Diagrams
, An example of an activity diagram of the tasks involved in making a book :
UML class diagrams:
Class – a rectangle with 3 components
● Class name and other general properties of the class
● List of attributes
● List of operations
Our first example: Activity Diagrams Purpose is to model a task (for
example in business modelling), to describe a function of a system
represented by a use case }and to describe the logic of an operation