Where i need to position fill application form in swimlane ! - uml

I am writting a sequence diagram where custome fill a application from for a bank
here i have two swim lane ..one is customer and another is bank
in which position i need to position "fill application form" activity?
Should it be in customer swim lane or in bank swim lane
since the customer is filling application so shouldn't it be for customer swim lane?
but customer is filling banks application form so shouldn't it be for bank swim lane?

You are confused.
There is no swimlane in sequence
diagram. Swimlanes are in Activity
diagram.
If you try to model a business process using sequence diagram this is wrong. Sequence diagrams are for exploring real software objects interactions.

Related

Use case diagram for web application

I'm a student working in project which need to develop a web application (website / app mobile).
the main goal of this application is to allow consumer to rent / exchange parking in real time (Consumer to Consumer).
Edit : Hello, i will give more details about the project :
The project aims to bring a mobile application to market
which will allow:
The exchange of car parks between individuals
The real-time rental of a parking space
The exchange of car parks between individuals will take place after registration and validation of the
owners' information (such as email,...) and car parks (location, address,
latitude, longitude, height, surface, access,...)
As well as their times and availability dates...
A back end program will match the possible car parks for Exchange
A member of the app will be able to see in real time the available car parks in
depending on its GPS position and time slot
A request for permission can then be sent through the application to the
owner of the chosen car park.
I am working on my use case and I need some help and advice.
We can say that UML diagrams have a predefined syntax (the UML standard) and a content that depends on your specific project.
The syntax of your diagram is correct: it uses the standard shapes and connectors. Good job! I would suggest to work a little more on the presentation, the style (for example, connect the lines to the shapes). Take a look here for inspiration, this is a great website: https://www.uml-diagrams.org/use-case-diagrams.html
On the correctness of the content we can not help you, since you have not shared enough details about your project. My personal opinion (just an opinion!) is that you should either go high-level or fully-detailed, no in-betweens. For example you put add, edit and delete parking, this makes me think you are detailing everythng, but at the same time there is no remove parking advertisement or remove reservation so this makes me think that these actions are not possible. If this is not the case, you might want to add them or use something more generic like "manage parking", "manage advertisements".

UML: Analysis-level class diagram. Should the detail entity be represented in this diagram

I'm learning UML and have this scenario. This is a screen to assign players to a game room. The admnistrator selects the Game from the drop down, then selects the Game Room, and finally moves the players from the list on the left to the right list to indicate what players are assigned to the selected room. The question is if the detail entity should be represented as an entity in the Analysis-level class diagram. See below GUI and the 2 options I have for the diagram. Which one is correct #1 or #2?
GUI
Diagram 1: Should "AssignedPlayers" be include in this diagram as an entity class?
Diagram 2: Should I exclude the entity AssignedPlayers and leave only Player and GameRoom classes and later, in the Conceptual Model, relate the GameRoom and Player entities with an Association Class called AssignedPlayers?
It's up to you to decide. Both are correct. You create a diagram to communicate a model to some audience. If that audience is not interested in certain detail you just leave it away (if that does not totally distort the picture).
You create not a single diagram for a system but as many as needed. So for an overview you have diagrams with few/no details and many other diagrams that go in certain details.
Remember: UML is about communication, not about diagramming.

Is there a better way to represent this Sequence Diagram for a Employer-System-Applicant Scenario?

I've been asked to make a Sequence Diagram for a Casual Employment System in which includes mainly the Applicant, Employer and System. Following my Use Case and Class Diagram, I have used the info I Have to produce a sequence diagram for the Applicant which I have been assigned as actor. My teacher came up with the following comments:
Frames can only be alt, opt or loop.
You can't have multiple arrows into the same activity bar.
It looks like applicant and employer are humans. sequence diagrams are of software not humans.
There is no method name for the driver method on the left.
There is only one participant for the software "System". You need to have many participants each is a class.
My question would be:
what other participants can I have besides the "system" for the Applicant to interact, what other classes can I make?
User Story:
As an applicant, I want to be able to
create an account so that I can apply/search for available jobs.
create a job preference so that I can work in my desired field.
update my employment status.
change my job preference.
create and modify my availability regularly so that my work time will cope with my personal / school schedule.
add or update my employment records.
add or update my reference.
upload my CV online.
select my interview time, IF I get an invitation to an interview (for shortlisted candidates ONLY).
accept/reject job offer.
make a complaint about my employers if necessary.
If you know how to create a class diagram: take the classes in that diagram.
If you know an object-oriented programming language, take the classes you would have in the software.
Otherwise, look at the nouns in the user story: account, job, etc. These will be classes. Some nouns are not classes, but just attributes of classes: desired field, employment status etc. You may ignore these.
All these classes are part of the system. Do not include System as a participant.

Designing a sequence diagram for an auction system

I'm currently working on a sequence diagram for an auction system which acts as the middleman between customers and companies.
However I'm having difficulty with the design of the system and would appreciate some guidance, especially as I seek to tighten up the UML diagram.
The entire idea behind the system is that the customer creates a booking via a mobile app which uploaded to the auction app where companies can bid for it. If a company wins a bid, the auction app gives them a price range in which they can give the customer a quote (i.e. if company A wins a bid to mow customer X's lawn, then the auction app sets a price range of $15-$20 for the job, and company A's quote has to be in between that range). The customer can then accept the quote and go ahead with the job or reject it.
Steps are as follows:
1. Customer creates a booking on booking app
1.1 Booking app saves booking (recursive as customer can save more than one
booking)
1.2 Job is uploaded to auction app where other companies can bid for it. In the
next step, a company will bid for job.
In the event of an unsuccessful bid:
2. Company makes bid for job on auction application
2.1 Message sent to company telling them that they failed to win the job
In the event of a successful bid:
3. Company makes bid for job on auction application
3.1 Message sent to company telling them that they won the job
4. Auction app sends price limit message for the job that the company has just
won (to prevent overcharging). In the next step, the company needs to set a
quote
In the event that a customer rejects a set quote
5. Company sets quote for the job that they won
5.1 Auction app sends the quote message to the auction app
6. Quote displayed to customer on mobile application
7. Customer rejects the quote
7.1 The rejection message is sent to the auction app
8. The rejection message is displayed to the company
In the event that a customer accepts a set quote
9. Company sets quote for the job that they won
9.1 Auction app sends the quote message to the auction app
10. Quote displayed to customer on mobile application
11. Customer accepts the quote
11.1 The acceptance message is sent to the auction app
12. The acceptance message is displayed to the company
13. End booking process
This is the UML diagram:
I have 3 questions:
When BidSuccess=False (i.e. a company's bid for a job has failed), they can opt to bid for another job and win (therefore entering the BidSuccess=True branch). Is it possible to convey this on the sequence diagram. If so, then how?
There appears to be a lot of redundancy in steps 5-13, could the sequence diagram be better designed here? How would I go about merging 5,5.1,6 and 9,9.1,10 but letting them return different results depending on CustomerAcceptQuote.
Perhaps my biggest concern is whether or not I've put the loop/alt guards in place. I think I have used them correctly but please correct me if they are not.
Thanks for taking the time to read this.
ad 3) As for the loop/alt in your diagram then their semantics is not clear, mainly because they don't nest properly (see http://www.uml-diagrams.org/sequence-diagrams-combined-fragment.html for examples)
ad 2) As for the redundancy you can use the UML sequence diagram - interaction use as in
ad 1, ad 2) Overall to show the branching while avoiding redundancy instead of sticking to the UML sequence diagram you may use features from the UML activity diagram, as shown in example of UML interaction diagram
...Interaction overview diagrams provide overview of the flow of control where nodes of the flow are interactions or interaction uses. UML 2.4.1 Specification in some places relegates these diagrams as interaction diagrams while in other places interaction overview diagrams are referred to as specialization of activity diagrams...
Actually according to UML 2.4 Diagrams Overview
..UML specification does not preclude mixing of different kinds of diagrams, e.g. to combine structural and behavioral elements to show a state machine nested inside a use case. Consequently, the boundaries between the various kinds of diagrams are not strictly enforced. At the same time, some UML Tools do restrict set of available graphical elements which could be used when working on specific type of diagram..
Disclaimer: original pictures (without the green and purple rectangles) come from Kirill Fakhroutdinov's online book www.uml-diagrams.org

trying to identify the aggregated roots of a car rental domain

I am trying to study some aspects of ddd with the domain of a car rental website.
The user/customer selects a car from a start and destination station and the time period.
The price calculation depends on various things like payment method, time, car classification and so on. The data is retrieved from a subsystem which differs in data access strategy from the rest of the application.
There are several actors in the domain like station service, call center...
Idea for the bounded context are
Company (employee, car, station)
Booking (reservations, model for booking request process)
Pricing (the price model)
Billing (rental billing, positions, customer)
After defining the bounded context I am unsure if the aggregated roots of each are correct. My thoughts are
Company: all three of them
Booking: reservation (access to billings, the car and customer)
Pricing: tariff matrix
Billing: customer (access to reservations, billings)
If needed I can add some class diagrams to show the different bounded context.
If more information is needed, a class diagram or this should be migrated to an other section feel free to ask/do it.
With what little experience I have with the car rental domain, I'd say you are on the right track. A couple of things you should be aware of: Bounded Context are a logical separation, not a physical one. As such, using something like a compositional UI, would allow you to display pricing information as part of the booking process. You'd be hosting UI components from different BCs side by side, and using them to guide the end user through the process he's trying to complete. The other thing is, you're looking for aggregate roots in all of the BCs, but I do hope you realize that you don't need a domain model in each and every one of them. Maybe a simple datamodel will do if things are not "core" to your business or crud-based by nature. That's the beauty of BCs, the ability to make deliberate technology choices.

Resources