Professional Documents
Culture Documents
Software Engineering
Professor, AIITK
Amity University, Kolkata
adas10@kol.amity.edu
Outline
• Software Engineering
• Concept of Modeling
• UML Diagrams
• Case Study
• References
Software Engineering
IEEE Definition (1993)
How to collaborate?
Developers Customers
How to collaborate?
Developers Customers
How to collaborate?
Developers Customers
How to collaborate?
Developers Customers
SAS should support printing the sales statistics for every item the super
market deals with for any particular day or any particular period. The
sales statistics should indicate the quantity of an item sold, the price
realized, and the profit accrued.
The manager of the super market should able to change the price at which
an item is sold as the prices of the different items may vary on a day-to-
day basis.
22/3/7 Ajanta Das 23
Problem
Requirements Identification
The manager of a super market wants automation software to
be developed. The super market stocks a set of items.
Customers pick up their desired items from the different
counters in required quantities. The customers present these
items to the sales clerk. The sales clerk enters the code
number of these items along with their respective quantities.
SAS should support printing the sales statistics for every item the super
market deals with for any particular day or any particular period. The
sales statistics should indicate the quantity of an item sold, the price
realized, and the profit accrued.
The manager of the super market should able to change the price at which
an item is sold as the prices of the different items may vary on a day-to-
day basis.
22/3/7 Ajanta Das 25
Identifying Actors
Customer Employee
SAS
SalesClerk Manager
pickUpItem
processTransaction
changePrice
printBill
prepareSalesStats
updateInventory
changePrice
Manager
SAS
printBill
prepareSalesStat
changePrice Manager
processTransaction
SAS
printBill
prepareSalesStat
pickUpItem
placeItem
addCode
printBill
processTran
saction
makePayment
printBill
updateInventory
prepareSalesStats
changePrice
updatePrice
pickUpItem
placeItem
addCode
processTransaction
printBill
updateInventory
makePayment
prepareSalesStats
changePrice
updatePrice
• Composition:
– It is a stronger variant of the "owns a" or association relationship;
composition is more specific than aggregation. It is represented with a
solid diamond shape
– Composition usually has a strong life cycle dependency between
instances of the container class and instances of the contained class(es):
If the container is destroyed, normally every instance that it contains is
destroyed as well
pickUpItem()
makePayment()
Employee
item_name
item_qty
item_code
emp_id
SalesClerk
clerk_id : String updateInventory() Manager
item_name : String item_name : String
item_code : String item_code : String
item_unit_price : double
processTransaction()
updatePrice()
22/3/7 Ajanta Das 49
SEQUENCE Diagram
• UML sequence diagram models the flow of logic within
the system in a visual manner
• Sequence diagram is kind of interaction diagram
• It shows an interaction, consisting of a set of objects and
their relationships, including the messages that may be
dispatched among them
• A sequence diagram is an interaction diagram that
emphasizes the time-ordering of messages
• Interaction diagram address the dynamic view of a
system
pickUpItem()
Place item
processTransaction()
Customer is
Item details
waiting for
payment
printBill()
Bill details
Bill Details
makePayment()
Sales details
updateInventory()
Inventory details
prepareSalesStats()
sales statistics
updatePrice()
Price details
Mridul Paul
Siba Mitra