Software Engineering_Lab2
Software Engineering_Lab2
● In this phase for the alarm clock app we ask questions like
○ What is the maximum snooze repetition, how much should we wait in between?
○ Should the user be able to edit snooze time?
○ How should we increase the sound in soft alarm, should we use a different melody?
○ How should we list multiple alarms?
○ Should we disable the periodic alarm in holidays? How should we get the holiday
information?
○ … and many more
Design Phase
● In the design phase, most of the necessary decisions on the technical
issues are made.
○ Architectural design, followed by
■ GUI design
■ Data and Functional design
● In this phase for the alarm clock app we discuss questions like
○ Where should we save the alarm parameters (local db, file, cloud)?
○ How should the alarm list look like?
○ How should the single alarm edit screen look like?
○ What kind of mechanism should we use to trigger alarm? Thread- daemon
process?
○ Should we use a list or an array for the alarm list?
○ How should we cache the holiday dates?
Rest of the Phases
● Implementation phase
○ Coding
○ Unit testing
○ Integration
○ Acceptance testing
● Post-delivery maintenance
● Retirement
Cost of the Phases
● Surprisingly, the average costs of the classical development
phases have hardly changed
Example 1
● Assume Turkey Defence organization did a recent study and
want to build an air defence system to keep the country
protected from potential conflicts in the region
● The air defence system has never been attempted and no
literature exist for such system
● It is fairly big and complex system and potential can take a
decade to build
● Scientists have not clearly expressed idea and no concrete plan
exists
● There are lot of Organization stakeholders and constraints that
will impact this initiative.
● So there is a lot of risk, a lot of constraints.
Example 1 - Analysis & Recommendations
● Fairly unknown needs and outcomes
● Very very risky
● Very large and complex project
https://www.menti.com/ed5d1cqv7r
Or Use the code: 57 69 64 5