Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Engineering - Coggle Diagram
Software Engineering
WEEK1
Software Processes
involve
requirement specification(what)
development
analysis(how)
design
implementation
testing
evolution
model
the waterfall model
benefits
problems
suitable projects
evolutionary development
benefits
problems
suitable projects
the rational unified process
benefits and problems
AgileSoftware Development
traditional development's problems
agile
process
focus
the agile manifesto
dos and do nonts
principles!!!
planning
requirements(user stories)
TDD
design improvement
extreme programming(widely used agile method)
pair programming
integartion and release
the release cycle
agile problems
Introduction
software engineering?
good software
generic vs custom
developed for, sold to
owned and controlled
software engineering layers
software failures
generic issues affect software
Requirements
definition
requirement classification
functional requirements
problems
non-functional requirements
example
problems
are a result of the architectural choices of the system
metrics
conflicts(trade-off)
software requirements documents(what,not how)
capture
fact-find techniques
background reading
interviewing
observation
document sampling
questionnaires
Agile Requirements
user stories
who write
when write
good(INVEST)
story cards/story wall/project glossary/epics
acceptance criteria
product backlog
prioritisation
MoSCoW
estimating
story points
prototyping
low-fidelity prototyping
medium
high
WEEK2
analysis
why analyse
what concerns analysis
conceptual modelling
class and object
analysis class
boundary classes
control classes
entity classes
attributes
operations
relatioships
association
inheritance
specialisation
generalisation
steps
design
definition
role
design quality guidelines
fundamental concepts
abstraction
architecture
patterns
modularity
encapsulation
functional independence
coupling
cohesion
refactoring
advantages: object oriented design
design steps
implementation(design>code)
purpose
component: physical package(design classes)
implementation subsystem
build
integration build plan
OOP
class definitions
method's definitions
association
bidrectional between classes
OOP don't provide the concept
references
unidirectional
direction
multiplicity
one to one
one to many
collections
steps
testing
what is/aim
who tests
goal
validation testing
defect goals
policies
good test
tseting process
unit testing
system
acceptance
test model
test strategy
test case desgin
test procedures
techniques
black-box testing
partition testing
scenario-based testing
regression testing
white-box testing
basis path testing
steps
TDD
traditional testing
tdd cycle
small cycle
WEEK3
software architecture
software architecture
architectural models
advantages
agility and architecture
architectural patterns
web-based architectures
distributed systems architecture
cloud computing?(不确定是不是放这里)
load balancing
RESTful architecture
mobile applications architecture
project management_1
the need
software projects' distinctions
project management activities
project planning
process
types
project scheduling
process
problems
charts
task chart
activity network
bar chart
activity organisation
milestones
monitoring/reporting
metrics
people in the process
people management factors
managing groups
group working
agile project management
teamwork
scrum approach benefits
project management_2
risk management
problems
risk management
project risks
product risks
business risks
risks which both project and product risks
business risks
process
avoidance strategies
contingencies
agile risk management
quality management
quality management
agile quality management
high quality software
good enough software
bug or feature
quality attributes and trade-offs
visible and invisible quality
analysis of performance
software reliability
security and resilience
software standard
problems
history(太多了且看起来不是很有用)
design principles(啊啊啊啊啊之后再说)