Software Engineering: Practical:1
Software Engineering: Practical:1
Practical:1
Case Diagram
Here are the main classes of our Library Management System:
1) Library: The central part of the organization for which this software has been
designed. It has attributes like ‘Name’ to distinguish it from any other libraries
and ‘Address’ to describe its location.
2) Book: The basic building block of the system. Every book will have ISBN, Title,
Subject, Publishers, etc.
3) Book Item: Any book can have multiple copies; each copy will be considered a
book item in our system. Each book item will have a unique barcode.
4) Account: We will have two types of accounts in the system, one will be a general
member, and the other will be a librarian.
5) Library Card: Each library user will be issued a library card, which will be used to
identify users while issuing or returning books.
6) Book Reservation: Responsible for managing reservations against book items.
7) Book Lending: Manage the checking-out of book items.
8) Catalog: Catalogs contain list of books sorted on certain criteria. Our system will
support searching through four catalogs: Title, Author, Subject, and Publish-date.
9) Fine: This class will be responsible for calculating and collecting fines from library
members.
10) Author: This class will encapsulate a book author.
11) Rack: Books will be placed on racks. Each rack will be identified by a rack number
and will have a location identifier to describe the physical location of the rack in
the library.
12) Notification: This class will take care of sending notifications to library members.
1) Check-out a book: Any library member or librarian can perform this activity. Here
are the set of steps to check-out a book.
2) Return a book: Any library member or librarian can perform this activity. The
system will collect fines from members if they return books after the due date.
Here are the steps for returning a book.
3) Renew a book: While renewing (re-issuing) a book, the system will check for
fines and see if any other member has not reserved the same book, in that case
the book item cannot be renewed. Here are the different steps for renewing a
book.
Summary:
1) The quest to make life easier and processing faster has led to computerization of
various
2) processes. Computer technology has transformed so many sectors especially the
Educational
3) sector in no small measure. In an effort to foster technology driven education, a
Library
4) Management System has been developed to manage all library operations such
as borrowing,
5) returning of books etc.
Recommendation:
For further research work to be carried out. The following
1) University Library should be developed to work on any platform.
2) Diagrammatic representation as a lecturing aid should be included in
a University Library.
3) University library lecturing should also be extended to other field of study such
as chemistry, English Biology Agricultural science and many others.
4) University library should be developed to support audio, video and a
diagrammatic aid to learning.
Practical: 2
Case study of Villager Telephone System.
Because this is a very friendly village, we require the system to make it as easy as
possible for villagers to talk to each other. Intuitively, the requirement is that if a
villager want to talk to somebody another villager who is off hook and not
engaged in another conversation, and there fore free to talk. This effort may
include alerting one or more villagers whose phone are unhook in the hope that
a phone will then go off hook and can be connected. There are many possible
versions of these informal requirements. In all versions we assume that time is
discrete and that system is fast enough to complete its response to each event
before the next environment event occurs. In our case this means that then
connected and then alerting can be viewed as instantaneous state changes.
The first thing that anybody would want out of a telephone system is that
communication can happen;
Conclusion:
So, here as shown how to carry out an “end to end” formal development of an
illustrative software system. This process included modelling parts of the process
that are not usually treated formally, such as the user-level requirements. By a
systematic approach to refinement, we have shown how these requirements can
be reduced to a specification and a corresponding HOL specification, and a gap
between our Mocha specification and a corresponding HOL specification. The
benefit of closing the first gap is probably not worthy the trouble in the case, but
better integration between Mocha and HOL could yield interesting benefits.
Practical: 3
Waste Management Inspection Tracking System (WMITS).
Goals and Objectives: The main purpose of WMITS is to help automate the entire
process that the Department of Environmental Quality (DEQ) Waste Management
Division (WMD) staff members perform throughout an inspection.
To minimize the time span of any inspection.
To minimize the amount of paper work required.
To provide a searchable database of all past inspections.
To provide an automated channel for the public to request information (under
Freedom of Information Act).
System Context: Eventually, multiple users will be using the product simultaneously.
Therefore, concurrent connection will be an issue for implementation. In addition,
this is a pilot product that hopefully, if successful, can be used in other locations as
well. This leads to issues about future support for a larger user base.
Introduction: This section gives a general overview of the Test Specification for the
Waste Management Inspection Tracking System (WMITS).
Goals and Objects: Put it in a simple way, a good product will be work perfectly,
doing the right thing at the right time. To do that, the software has to go through a
series of tests before its final release. Error free software is extremely difficult to
achieve. After all, nothing is perfect. Especially for software developed in a short
time frame. But high quality can be achieved with a detailed test specification. All (or
least most) of the test case will be listed, the development team will follow it step by
step, item by item, to test all the necessary objects, data flows, limits, boundaries,
and constraints of the software.
The team’s goal is to assist the project team in developing a strategy to deal with any
errors. For this, the team will take a look at the most common errors to some very
uncommon errors as well.
Major Constraints: The team has limitation on time to test the product at the client’s
facility. We have access to the facility only during the regular office hours. We also
have to set us schedule around the available time of the inspector that is to help us,
so time schedule will be a major constraint when we talk about testing at the site.
The team also has got funding for only one hand held PC. This means that we cannot
test the software using the PC from some other brand or PC that is of lesser price
and lower hardware.
The team does not know any hacker that can help us test the security problems. So
we have to rely on our own knowledge and have to trust the software for the
security.
The team also does not have large enough group to have many people use the
applications at the same time to perform real stress related testing. So we have will
not be able to test the product for the larger user base.
Testing Plan: The total software development time on the testing. Below is the
description of the testing procedure and strategy. We will also be presenting the
timing and scheduled of the tests to be carried out.
1) Interfaces: Login Window
We will make use of several different names to log in to the system, so will be
testing login window. We will also test OK and Cancel buttons on this window
by performing test above – Microsoft Visual Basic [Design] Window
This is the main window that we will use to access the database using Visual
Basic. We will have several different drop-down menus in this window. File,
Facility, Inspection, approve, Reports, Maintenance and Help are the drop-
down menu that will be available in this window we will try to use all the
menus and then different options available in each of the window.
2) Testing Strategy: In the following section will describe the testing strategy.
And will user four different methods to test our product.
A. Unit Testing: In the unit test case we will be testing the separate
modules of the software. We will carry out white box testing where
each module or component of the software is tested individually. We
will test the components by passing data through it and we will be
monitoring data to find the errors. We will be looking for entry and
exit conditions of the data. We will make sure that all the components
work without any troubles. The test primarily be carried out by the
programmer who designed and implemented the module. Lead tester
will than carry out test on the modules to finalise the testing.
INTRODUCTION: The Flight Control System (FCS) is one the most critical systems
inside an aircraft and, like many other embedded systems, its size and complexity
has grown in recent years. Verification and validation (V&V) of such a system is thus
essential but not easy. Classical V&V methods consist in simulation and tests but
formal verification is now a credible method to complement the classical ones.
Conclusion: The experiments reported in this paper were targeting the Airbus
development process for Flight Control Systems. The Airbus context particularizes
the application of the model checking technique as follows:
• In the target process, a SCADE formalization occurs at system design. The analysed
models are thus at a concrete level of details.
• The FCS functions run on a multi-processor and multi-clock environment (multi-
clock aspects also arise inside a single processor).
• FCS functions range from simple Boolean functions to functions involving complex
numerical calculation. Determining their valid input domain is usually non-trivial,
because of the need to consider the flight dynamics.
• The target properties may be, or not, at the same level of abstraction as the
models. It depends on whether they come from the detailed or high-level
requirements. Some of the above characteristics are likely to be shared by other
industrial companies also developing control systems. For example, the automated
generation of code from design models is not uncommon: whether such design
models are suitable to formal analysis is a question that may be relevant to different
safety-critical domains.
Practical: 5
Case study of Ambulance Dispatching System.
Aim and Objectives of the Study: The aim of this research is to build a dispatch
system that will help to speed up the rate of dispatching ambulance in order to
carter for an emergency in the society. The objectives of the system include:
i. To provide fastest ambulance services to the victims of any emergency
incidents.
ii. To decrease the amount of paper work must be file.
iii. To help the company ensure that provide an adequate amount of ambulance
for each of the service.
iv. To enable management, track the status of each ambulance and the
ambulance activity.
Scope of the Study: The research project focuses on ambulance dispatch system
using federal road safety, Uyo.
Organization of the Study: The research project has been arranged in the following
order. Chapter one contains the introduction, theoretical background, statement of
problem, scope of the study and definition of terms. Chapter two focused on the
relevant literature review on the subject matter. Chapter three is concerned with the
system design, which emphasis on system design and flow chart. It also expands the
development of the new information. Chapter four is the system implementation
which gives the direction of system and analysis of modules. Chapter five
summarizes, show the limitation of the study, conclude the research work and offer
some useful recommendation.
Methodology: In this paper, both qualitative and quantitative approach in case study
research [42] were followed. We reported the design specification of the model and
the prototype tool in [16]. Stakeholders’ requirements were elicited using interviews
on groupware platform. This involved speaking with the users (stakeholders) directly
via groupware (TeamViewer) and asking them questions about their specific needs
that are relevant to the web application under development. In particular, ten (10)
customers of Procrea8 Technology Solution Limited and nine (9) developers were
used as respondents. Also, the secondary data was elicited from system domain
documents. The customer relationship management domain document was
inspected to know the basic needs (business requirements) and the description of
the system domain. Based on the requirements gathered, a model was formulated
using an interactive genetic algorithm.
Conclusion and recommendation for future work: Achieving the goal of delivering a
robust market-driven web application demands the proper handling of the
requirement overload situation. This paper revealed that the overload situation is
the cause of delay and cost in the development of web applications. In an attempt to
address the situation, we engaged in a case study research to develop and evaluate a
model that analysed stakeholders’ requirements in a large-scale web development
project. Requirements were elicited from stakeholders in different geographical
location via TeamViewer; an interactive genetic algorithm that is efficient and
effective for ordering web application requirements was proposed. We developed a
prototype tool to support the analysis and classification of these requirements via
prioritization. The tool is simple to use with a friendlier user interface. Also, the
proposed approach produces solutions that allow the system analyst/developer to
make decisions concerning the set of requirements that shall be implemented in the
web application to be developed. More so, the tool allows stakeholders that are not
in the same location to take part in the prioritization process. This research has
contributed to knowledge by providing a model that collates stakeholders’
requirements from wide geographical locations. Also, the model can analyse
stakeholders’ requirements to present first-hand information to requirement
analysts. Thus, the analyst can quickly identify users’ expectations in a large-scale
web application development project. The study also provides a prototype that will
enable requirement engineers to prioritize and rank large scale of requirements in
web development, thereby reducing the cost of development. In future works, more
experiments are required with more alternative settings on other real-life case
studies to generalize the findings in this research. An intelligent model to adequately
handle issues on requirements dependencies is inevitable to strengthen the
automation of the model further.