You are on page 1of 7

CSE 405N

System Analysis And Design

Sequence Diagram

Examples from the


‘BUET course registration, coursework, exam and
result processing system’

CSE 405N System Analysis And Design Presentation 16


Register: typical course of events
Actor Action Actor Action System Response
(Student) (Adviser)
1. Open registration 2. Ask for Student Id, Password
Interface
3. Provide Id, Password 4. Show List of unfinished courses
5. Select a course 6. Get Pre-requisite list for that course
7. Check results of those courses
8. If not passed, then give message to student and
deselect the course
Otherwise, do nothing
9. Finalize selection 10. Check total credit hour
11. If ok, then proceed to next step
otherwise, give a message requesting the
student to revise his selection
12. Notify Adviser
13. Ask for details 14. Show details
15. Authorize 16. Update state
17. update registration information for selected
courses and show confirmation message, Print
course card
CSE 405N System Analysis And Design Presentation 16
Register: Collaboration Diagram
2. showLogin()
3. login() 7. showCourseList()
8. selectCourse() 11. showPRError()
12. finalize() 14b. showTCError() 16. authorize() 15. authorize()
18. showConfirmation()

Student RegisterUI AuthorizeRegistrationUI Adviser


4. verifyLogin()
9. verifyPreReq() 14a. showRegInfo()
13. finalize()
Register
)
urs e Info(
tCo 10. getResult()
5. ge

6. upd
17
ge
()

.
fo

tRe teRe
tIn
en

gIn gIn
a
Course
ud

fo( fo(
t St

)
Result
ge
1.

Registration
18. updateRegInfo()
Student Info
CSE 405N System Analysis And Design Presentation 16
Register: Sequence Diagram 1
:MainMenuUI

A Student :Register
[selectedItem=register]
itemSelected() Register()
:Student
:RegisterUI

Student()
RegisterUI()

showLogin()

login(id,pw) verifyLogin(id,pw)
getStudentInfo(id)

[pwAccepted=false]
showLogin()

CSE 405N System Analysis And Design Presentation 16


Register: Sequence Diagram 2
:RegisterUI :Register
:Courses
A Student
[pwAccepted=true]
Course()
:RegInfos
*getCourseList()

RegInfo()

*getRegInfo(id)

prepareUnfinishedCourseList()
showCourseList(*Courses)

selectCourse(Cid)
selectCourse(Cid)
checkPreRequisite()
showError(type)
loop

[PRcompleted=true]/addToList(RegInfo)
showConfirmation(type)

CSE 405N System Analysis And Design Presentation 16


Register: Sequence Diagram 3
:RegisterUI :Register :AuthorizeUI :RegInfos :Student

A Student A Teacher
finalize()
finalize()
showRegRequest(id)

showDetails()
getDetails()

authorize()
authorize()
showConfirnation(type)

storeRegInfo(*RegInfo)

updateStatus(id,status)

CSE 405N System Analysis And Design Presentation 16


Register: Sequence Diagram 4
:RegisterUI :Register :Courses :RegInfos :Student

A Student
logout()
logout()
destroy() X

destroy() X

destroy() X

X destroy()

CSE 405N System Analysis And Design Presentation 16

You might also like