|
|
@ -97,32 +97,59 @@ v-->u: Display Updated Friends
|
|
|
|
```
|
|
|
|
```
|
|
|
|
### Diagramme de classe pour l'ajout d'amis
|
|
|
|
### Diagramme de classe pour l'ajout d'amis
|
|
|
|
```plantuml
|
|
|
|
```plantuml
|
|
|
|
Class UserController{
|
|
|
|
class User {
|
|
|
|
renderView()
|
|
|
|
+ name : string
|
|
|
|
searchFriend()
|
|
|
|
|
|
|
|
addFriend()
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
UserController ..> UserManager
|
|
|
|
User "1" --> "*" User: friends
|
|
|
|
|
|
|
|
User "1" --> "*" Notification: notifications
|
|
|
|
|
|
|
|
User "1" --> "*" Ask: friendRequests
|
|
|
|
|
|
|
|
class Notification {
|
|
|
|
|
|
|
|
- text : string
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Class UserManager{
|
|
|
|
interface INotifier {
|
|
|
|
getUserById() : User[]
|
|
|
|
+ notify() : void
|
|
|
|
getUsersByName() : User[]
|
|
|
|
|
|
|
|
getUserByName() : User[]
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
UserManager ..> User
|
|
|
|
INotifier --|> Observer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
abstract class UserManager {
|
|
|
|
|
|
|
|
- currentUser : User
|
|
|
|
|
|
|
|
+ deleteFriend(userId : int) : void
|
|
|
|
|
|
|
|
+ addFriend(userId : int) : void
|
|
|
|
|
|
|
|
+ respondToFriendRequest(requestId : int, choice : bool) : void
|
|
|
|
|
|
|
|
+ getFriends(userId : int) : User[]
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Ask {
|
|
|
|
|
|
|
|
- fromUser : int
|
|
|
|
|
|
|
|
- toUser : int
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ask --|> Subject
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
abstract class Subject {
|
|
|
|
|
|
|
|
+ attach(o : Observer) : void
|
|
|
|
|
|
|
|
+ detach(o : Observer) : void
|
|
|
|
|
|
|
|
+ notify() : void
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Class User{
|
|
|
|
Subject "1" --> "*" Observer
|
|
|
|
+ friendList : User[]
|
|
|
|
interface Observer {
|
|
|
|
addFriend(User)
|
|
|
|
+ update() : void
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
User ..> Notifier
|
|
|
|
UserManager ..> User
|
|
|
|
|
|
|
|
UserManager o-- IUserRepository
|
|
|
|
|
|
|
|
UserManager o-- INotifier
|
|
|
|
|
|
|
|
|
|
|
|
Class Notifier{
|
|
|
|
interface IUserRepository {
|
|
|
|
notifier(userId)
|
|
|
|
+ findByUsername(username : string) : User
|
|
|
|
|
|
|
|
+ addUser(user : User) : bool
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IUserRepository ..> User
|
|
|
|
```
|
|
|
|
```
|
|
|
|
## User story : Gestion des activités et données
|
|
|
|
## User story : Gestion des activités et données
|
|
|
|
### Cas d'utilisation pour la gestion des activités et données
|
|
|
|
### Cas d'utilisation pour la gestion des activités et données
|
|
|
|