You are on page 1of 10

TCS 2411 Software Engineering Fundamentals Trimester 3, 2012/2013 Tutorial 2 (Lecture 4-7) Lecture 4 Topic: Software Requirements Analysis

The dental practice uses a manual patient and billing system to serve approximately 1,000 patients. The major functions are scheduling patient appointments, maintaining patient dental records and recording financial information. New patients must complete the patient history form. Then, at the first visit, the dentist evaluates the patient and completes the second half of the patient history information with standard dental codes (there are 2,000 codes) to record recommended treatment. A calendar of appointments os kept by the secretary, who schedules follow-up visits before the patient leaves the office. Also, before the patient leaves, any bills, insurance forms, and amounts due are computed. The client may pay at that time, or may opt for a monthly summary bill. The secretary maintains bill, insurance, and payment information with the patient history. 1. Using the following table format, list the major entities of the scenario above (at least 4). For each entity, give at least two attributes that would be useful. Entity Patient Dentist Appointment Patient History Bills Attributes Patient Code, Patient Name, Address Dentist ID, Dentist Name, Dental Code Appointment Date, Appointment Time Patient, Treatment ID, Treatment Description Bill Date, Bill Amount.

Explain that entities are usually the items described in the scenario. Expected entities are patient, dentist, appointment, patient history and possibly bill. But very important that the attributes are given, as it indicates the relevance of the entity to the scenario. Explain this to the student. At least 2 attributes must be given for each entity, make sure there are some relevance e.g. patient code, patient name, address, appointment date & time, dental code, dentist ID & name, bill date and bill amount. If there are other entities given then it depends on the attributes to show relevance.

TCS2411 Software Engineering Fundamentals

Page 1

paid by

Bill
for

pays

described in attends

Patient
makes

Consultation/ Visit attended by


arranged through

made by

Appointment

arranges for

2. Draw the Entity-Relationship Diagram based on the information given. List any assumptions that you have.

It is possible to have the dentist entity, but if there is only one dentist then it may not be necessary.

3. Discuss the a few processes in the system and give entities associated with these processes. Which attributes of these entities would be used in the processes? Some possible processes are making appointments, new patient registration, payment and treatment. For each process, students should give the related entities and the attributes from these entities that are used.

Project: Examine the information that you have so far from your analysis, e.g. from the Problem Statement and draw the Entity-Relationship Diagrams based on the information. You should have at least a few entities such as Customer, Member, Order, etc. and some relationships between them.

TCS2411 Software Engineering Fundamentals

Page 2

Lecture 5 Topic: Software Requirement & Analysis Principles

Discussion/Project 1. What is system? List down the entire system element. System is a collection of interrelated components that work together to achieve some objective. The system element are : Software Hardware People Database Documentation Procedures 2. Briefly explain all the stages of system life cycle as one process of system development. There is seven Stages in system life cycle such as :i. Initial Strategy Identification of needs, problems, opportunities, goal objectives and scope specified. Determining the Requirements (Information and Tools) Several tools are used to define IR in the business, sampling, investigating of hard data, interviewing, questionnaires, observing and prototyping. Feasibility Study Economic, technical, legal feasibility Cost-benefit analysis, risk assessment Analysis Requirements definition & specification There are some special tools and techniques that help the analyst as DFD, Data Dictionary Design Logical & Physical Design (Design the interface, input/output, file or database) and system specifications. Implementation Installation software, giving training and systems testing Maintenance, Review and Test Amendments (fix) by the programmers System audit, by the programmers and analyst

ii.

iii.

iv.

v.

vi. vii.

TCS2411 Software Engineering Fundamentals

Page 3

3. What is system modeling and enterprise modeling? System modeling is modeled as information transforms using an input-processingoutput template which consist of user interface, input, system function and control, output and maintenance and self-test. It defines processes for the view and represents all linkages (including output) to better understand the view 4. Case study as below :i. Identify each relationship exist in the order system.
CUSTOMER

order

FURNITURE

CUSTOMER

pay

BILL

ii. Draw Entity Relationship Diagram (ERD) for the system. ERD (suggestion) date Cust_id furn_id order_id furn_id
CUSTOMER

quantity

Bill_no M

name Cust_id

N
ORDER

status
FURNITURE

1 M pay produce M
BIL L

M produce 1
SHIPPING ORDER

price

Bill_no Order_id date Shipping type


TCS2411 Software Engineering Fundamentals

order_id

Amount payable

shipping_id date

Page 4

iii. Draw a context diagram (DFD Level 0) for the order system DFD (Context Diagram)
customer_id

Order_id CUSTOMER invoice payment_detail

FOOS

iv. Draw DFD diagram (DFD Level 01, 02) for the order system. DFD (Level 01)

CUSTOMER

customer_id user_id User authorization Customer order customer_ details Furniture _details Order processing shipping order shipping _details Furniture _details shipping shipping _details

Customer_files

Order details Order status

warehouse_files

Invoice_copy02 Payment _details

Issuing invoices Invoice copy01 Customer _payment

Payment processing

TCS2411 Software Engineering Fundamentals

Page 5

DFD (Level 02) - Example DFD Level 02 for User Authorization Process Customer_files
User id and password Configure id & password Display message & status valid_ id& password valid_ order Order details Configure Order Customer _details Customer_id

Customer _order

Authorized user_id and password

Retrieving authorize files

DFD Level 02 for Payment Processing Process

Invoice copy_01 Read invoice Invoice data Payment details Read details Payment data Save record Customer payment

v. Create State Transition Diagram (STD). Sufficient information is needed to develop State Transition diagram. STD is not to be developed for this system.

TCS 2411 Software Engineering

Page 6

Lecture 6 Topic: User Interface Design & Real Time Design

Discussion

1. List five examples of computer-based real-time systems. Indicate what "stimuli" feed the system and what devices or situations the system controls or monitors

Five examples of computer-based real-time systems:a) Aircraft avionics b) Manufacturing process control c) Industrial instrumentation d) Intelligent buildings e) Anti lock braking system For every system, list the input and output of the system. inputs are the sensor information, eg: temperature, speed, altitude, etc. outputs are the devices being controlled, eg: wing-flaps, rudder, engine, etc.

2. Discuss the differences between the design of real-time systems and the design of typical software.

Real-time systems have additional considerations for continuous data flow, control processes, control items and control store. 3. Why is it important that we understand the skills of the users when creating the user interface of a software? In order to produce a user-friendly software, the features available should suit the different skill levels of the users. Novices would require more help features, and experts would require less help features but more controls and short-cuts. So it is important that the software provide for the corresponding requirements otherwise the software could be considered not user-friendly. 4. Discuss how the type of tasks in software affects the selection of the user interface.

TCS 2411 Software Engineering

Page 7

Communication tasks o More data entry fields in the user interface Dialogue tasks o More interaction items such as dialogue boxes, list of controls that can be done, etc. Cognitive tasks o Usually simple interface to initiate the functions, something like batch processing. Control tasks o Features that allow the user to change the order of things e.g. the arrangements of items in the toolbar.

Lecture 7 Topic: Object Oriented Analysis and Design

Discussion
1. Explain why encapsulation, inheritance, and polymorphism are three important characteristics of object-oriented systems. Classes provide an encapsulation (information hiding) mechanism by which data (attributes) have their access controlled by a set of operations. When properly implemented this yields systems with low coupling and high modularity. Inheritance provides a mechanism by which changes to higher level classes can be propagated to lower level classes quickly. Polymorphism reduces the effort required to extend an object system by enabling a number of different operations to share the same name. 2. Which activities make up the system design portion of object-oriented design? Partition the analysis model into subsystems Identify any concurrent processes from the problem statement Allocate subsystems to processors and tasks Design user interface Choose data management strategy Identify global resources and access control mechanisms Define mechanisms for system control and task management Consider handling of boundary conditions Review trade-offs
Page 8

TCS 2411 Software Engineering

3. How can a good design improve the quality of software? Good design provides a well-constructed software that can be systematically coded, tested and modified. Problems can be easily identified and maintenance can be properly conducted, thus improving the quality of software.

4.

What benefits can be obtained from designing based on the following concepts: Abstraction Refinement Modularity Software Architecture Control Hierarchy Data Structure Structural Partitioning Software Procedure Information Hiding

Answer: Abstraction correct representation of information and processes Refinement systematic development of software Modularity ease in producing solution Software Architecture proper integration in producing software Control Hierarchy ensuring that modules are not overloaded, too restrictive and have too much effect on other parts of the software Data Structure modules for processing data correctly defined Structural Partitioning modules are placed at the right parts of software architecture and functioning accordingly Software Procedure details of algorithms produced Information Hiding reduce problems of unexpected effects in the program

5. Explain the difference between an object and a class. Object is the representation of the real-world objects and concepts in software domain. While, class is a set of object with similar attributes and operations. Objects are instances of class. Classes are frames for objects.

Project

TCS 2411 Software Engineering

Page 9

1. Expand the following Level 0 data flow diagram into lower level data flow diagrams. Suggested sub-processes: Check customer details Check course details Confirm course availability Create booking record Store booking record

Customer booking info Customer record Customers Process Bookings s New customer record

Courses Course record

New booking record Bookings

The students are to work in their project team and use the requirements that they have found to produce the level-2 DFDs. As a start they should produce a context diagram, an overall picture of what goes into the system and what comes out from the system. Then list out the processes that the system should be doing, e.g. member registration, order processing, etc. Take 2 of these processes and draw the DFDs.

TCS 2411 Software Engineering

Page 10

You might also like