본문 바로가기

미국유학/CS 601 Principles of Software Dev

1st quiz

 

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