LifeCycle Stages :
Requirement specification - Design - Coding - Testing - Deployment - Maintenance
SDLC - (1) Waterfall
1970s
Traditional Method for Software Development
Sequential
Requirement - Design - Implementation - Verification - Maintanence
First Two Phasees (20%-40%) , Coding (30%-40%)
Pros :
Provides a structured approach
Clear phases, easily identifiable milestones
Can work well on well understood, complex projects
Places emphasis on documentation
easier for new programmers to take over or join the project
Good for inexperiencedc teams
Cons:
Difficult to specify all requirements at each stage correctly upfront
Clients often change requirements
Designers are not always aware of possibile future issues
Nothing to show until almost done
Most problem solving requires iterations
When to use the Waterfall Model
Requirements are very well known
Technologies / Tools are understood
New version of an existing product
Porting an existing product to a new platform
Modified Waterfalls
Introduced feedback(iterations) into the standard Waterfall model
Several modified Waterfall Models exit
"Sashimi " wwaterfall with overlapping phases
ex) design phase errors are found during implementation while design is still in progress
Waterfall with subprojects
Each subproject can proceed at a difference pace
Waterfall with risk reduction
Spiral for requirements & Architectrual design
...
How to make a class immutable?
-Make all data fields private and final
-No mutator("setter") methods
-No accessor(get) methods can return a reference to a mutable data field
-Make the class final
'미국유학 > CS 601 Principles of Software Dev' 카테고리의 다른 글
10.4 Lock (0) | 2024.10.05 |
---|---|
241003 PSD - Multithreading, Synchronization (2) | 2024.10.04 |
241001 수업 , Thread (0) | 2024.10.02 |
Polymorphism (240905) (0) | 2024.09.06 |
240903 Iterator (0) | 2024.09.04 |