0% found this document useful (0 votes)
364 views158 pages

Software Engg - Lab - Manual

The document outlines the practical lab manual for the Software Engineering course at L D College of Engineering. It includes 11 practical sessions covering topics like SDLC models, software project documentation like SRS and design documents, UML diagrams, software cost estimation, testing, and case studies. The first practical focuses on studying various SDLC models like waterfall, iterative waterfall, spiral, prototyping, V-shape and agile models. Key aspects covered for each model include the description, phases, applicability, characteristics, risks, and change management. The waterfall model follows sequential phases of requirements, design, implementation, integration, testing, deployment and maintenance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
364 views158 pages

Software Engg - Lab - Manual

The document outlines the practical lab manual for the Software Engineering course at L D College of Engineering. It includes 11 practical sessions covering topics like SDLC models, software project documentation like SRS and design documents, UML diagrams, software cost estimation, testing, and case studies. The first practical focuses on studying various SDLC models like waterfall, iterative waterfall, spiral, prototyping, V-shape and agile models. Key aspects covered for each model include the description, phases, applicability, characteristics, risks, and change management. The waterfall model follows sequential phases of requirements, design, implementation, integration, testing, deployment and maintenance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 158

L D College of Engineering, Ahmedabad

Department of Information Technology


AY:2019-20

GTU B.E. 6th Semester


2160701- Software Engineering
Lab Manual

LDCE-IT-SE-MANUAL VER:2020
L D College of Engineering, Ahmedabad
Department of Information Technology
GTU B.E. 6th Semester 2160701- Software Engineering
Practical List
Sr. Aim Hrs
No.
1 SDLC Models 2
Study and Prepare Summarize various Software Models.
Application, Advantages, Disadvantages
2 Software Engineering Project 2
Select a MIS System and Prepare Problem Description, Solution, User Roles and Responsibility,
Inputs and Deliverable Output Products for system
 Prepare List of Requirements with Classification of Requirement ( Feasibility, Functional
/Non Functional, Type: User/System, Priority, Delivery Mode: InPhase/Immediate )
 Prepare SRS Document for Selected Project
3 Structured Software Engineering 4
Prepare following software engineering documents
 Data flow Diagrams (0 level to  ER Diagram
Higher levels) Database Queries
 Data Dictionary
4 Object Oriented Software Engineering: Structural UML Diagrams 4
Prepare following diagrams for selected project:
 Class diagram,  Component diagram
 Object diagram  Composite structure diagram
 Package diagram  Deployment diagram
5 Object Oriented Software Engineering: Behavioral UML Diagrams 4
Prepare following diagrams for selected project:
 Use case diagram  Communication diagram
 Activity diagram  Interaction overview diagram
 Sequence diagram  Timing diagram
 State diagram
6 User Interface Design 2
Draw User Interface using CUI/GUI Methods-Menu Driven, Card Driven for selected project.
Prepare Software Design Document for the Project.
7 Software Project Management :Activity Scheduling 2
Prepare the Time Line and Activity Scheduling using Turbo Project, Microsoft Project Tool
Prepare Software Project Plan Document/Gantt Chart for the Project
8 Software Project Cost Estimation 2
Calculate the Various Costs using CoCoMo, Function Point ,Algorithmic Cost Modeling
Methods
9 Software Testing 2
Design Test Cases and Scenarios for Testing Software as a parts and as a whole
Prepare Software Project Test Plan Document for the Project
10 Case study on CASE Tools for Software Processes 2
11 Review of Website/ Desktop Application from Software Engineering Perspectives. 2

(LDCE-IT-SE-MANUAL VER:2020) 1
INDEX
GTU B.E. 6th Semester Subject: 2160701- Software Engineering
Student Name: Nishchal Visavadiya Enrollment No:170280116122
Student Name: Priyank Vora Enrollment No: 170280116123
Student Name: Vavadiya Hardik Enrollment No: 170280116120
Sr.
Aim Date Mark Sign
No.

1 SDLC Models

2 Software Engineering Project: SRS Document

3 Structured Software Engineering

Object Oriented Software Engineering: Structural UML


4
Diagrams
5 Object Oriented Software Engineering: Behavioral UML
Diagrams

6 User Interface Design Software Design Document

Software Project Management: Activity Scheduling


7
SPMP- Software Project Management Plan /Gantt Chart

8 Software Project Cost Estimation

9 Software Testing: Project Test Plan Document

10 Case study on CASE Tools for Software Processes

11 Software Engineering Case Study Review.

Faculty Sign:__________________

(LDCE-IT-SE-MANUAL VER:2020) 2
Practical 1: SDLC Models

AIM: Study and Prepare Summarize various Software Models. Application, Advantages,
Disadvantages

Models: Waterfall Model, Iterative Waterfall model, Spiral Model, Prototyping model, V-
Shape SDLC, Agile SDLC

Parameters:

A. Description
B. Diagram
C. Stages/Phases
D. Type of Software where it is applicable
E. Characteristics of Software Project
F. Characteristics of Software Project Team with Size
G. Risk Associated with Project
H. Characteristics of User/Customer
I. Scope and Cost of Change Request Management

Waterfall model
The Waterfall Model was first Process Model to be introduced. It is also referred to as a linear-
sequential life cycle model. It is very simple to understand and use. In a waterfall model, each
phase must be completed fully before the next phase can begin. This type of model is basically
used for the project which is small and there are no uncertain requirements. At the end of each
phase, a review takes place to determine if the project is on the right path and whether or not to
continue or discard the project. In this model the testing starts only after the development is
complete. In waterfall model phases do not overlap

(LDCE-IT-SE-MANUAL VER:2020) 3
 Sequential Phases in the Waterfall Model

1. Requirements: The first phase involves understanding what needs to design and what is
its function, purpose, etc. Here, the specifications of the input and output or the final
product are studied and marked.
2. System Design: The requirement specifications from the first phase are studied in this
phase and system design is prepared. System Design helps in specifying hardware and
system requirements and also helps in defining overall system architecture. The software
code to be written in the next stage is created now.
3. Implementation: With inputs from system design, the system is first developed in small
programs called units, which are integrated into the next phase. Each unit is developed
and tested for its functionality which is referred to as Unit Testing.
4. Integration and Testing: All the units developed in the implementation phase are
integrated into a system after testing of each unit. The software designed, needs to go
through constant software testing to find out if there are any flaws or errors. Testing is
done so that the client does not face any problem during the installation of the software.

(LDCE-IT-SE-MANUAL VER:2020) 4
5. Deployment of System: Once the functional and non-functional testing is done, the
product is deployed in the customer environment or released into the market.
6. Maintenance: This step occurs after installation, and involves making modifications to
the system or an individual component to alter attributes or improve performance. These
modifications arise either due to change requests initiated by the customer, or defects
uncovered during live use of the system. The client is provided with regular maintenance
and support for the developed software.

Advantages of waterfall model:


 This model is simple and easy to under stand and use.

 It is easy to manage due to the rigidity of the model – each phase has specific
deliverable and a review process.

 In this model phases are processed and completed one at a time. Phases do not overlap.

 Waterfall model works well for smaller projects where requirements are very well
understood.

Disadvantages of waterfall model:


 Once an application is in the testing stage, it is very difficult to go back and change
something that was not well-thought out in the concept stage.

 Waterfall model is a linear framework

 No working software is produced until late during the life cycle.

 High amounts of risk and uncertainty.

 Not a good model for complex and object-oriented projects.

 Poor model for long and ongoing projects.

 Not suitable for the projects where requirements are at a moderate to high risk of
changing.

When to use the waterfall model


 This model is used only when the requirements are very well known, clear and fixed.
 Product definition is stable.

(LDCE-IT-SE-MANUAL VER:2020) 5
 Technology is understood.
 There are no ambiguous requirements
 Ample resources with required expertise are available freely
 The project is short.

However, very less customer interaction is involved during the development of the product.
Once the product is ready then only it can be demoed to the end users. Once the product is
developed and if any failure occurs then the cost of fixing such issues are very high, because we
need to update everywhere from document till the logic.

PROTOTYPING MODEL
It always happens that a customer defines a set of general objectives for software but does not
identify detailed input, processing, or output requirements. In other cases, the developer may be
unsure of the efficiency of an algorithm, the adaptability of an operating system, or the form that
human/machine interaction should take. In these and many other situations, a prototyping
paradigm may offer the best approach.
Ideally, the prototype serves as a mechanism for identifying software requirements.
If a working prototype is built, the developer attempts to use existing program fragments or
applies tools that enable working programs to be generated quickly.

(LDCE-IT-SE-MANUAL VER:2020) 6
Prototyping Model has following six SDLC phases as follow:

 Step 1: Requirements gathering and analysis


A prototyping model starts with requirement analysis. In this phase, the requirements of
the system are defined in detail. During the process, the users of the system are
interviewed to know what is their expectation from the system.

 Step 2: Quick design


The second phase is a preliminary design or a quick design. In this stage, a simple
design of the system is created. However, it is not a complete design. It gives a brief
idea of the system to the user. The quick design helps in developing the prototype.

 Step 3: Build a Prototype


In this phase, an actual prototype is designed based on the information gathered from
quick design. It is a small working model of the required system.

 Step 4: Initial user evaluation


In this stage, the proposed system is presented to the client for an initial evaluation. It
helps to find out the strength and weakness of the working model. Comment and
suggestion are collected from the customer and provided to the developer.

 Step 5: Refining prototype


If the user is not happy with the current prototype, you need to refine the prototype
according to the user's feedback and suggestions.

This phase will not over until all the requirements specified by the user are met. Once
the user is satisfied with the developed prototype, a final system is developed based on
the approved final prototype.

(LDCE-IT-SE-MANUAL VER:2020) 7
 Step 6: Implement Product and Maintain
Once the final system is developed based on the final prototype, it is thoroughly tested
and deployed to production. The system undergoes routine maintenance for minimizing
downtime and prevent large-scale failures.

Advantages of the Prototyping Model

Here, are important pros/benefits of using Prototyping models:


 Users are actively involved in development. Therefore, errors can be detected in the
initial stage of the software development process.
 Missing functionality can be identified, which helps to reduce the risk of failure as
Prototyping is also considered as a risk reduction activity.
 Helps team member to communicate effectively
 Customer satisfaction exists because the customer can feel the product at a very early
stage.
 There will be hardly any chance of software rejection.
 Quicker user feedback helps you to achieve better software development solutions.
 Allows the client to compare if the software code matches the software specification.
 It helps you to find out the missing functionality in the system.
 It also identifies the complex or difficult functions.
 Encourages innovation and flexible designing.
 It is a straightforward model, so it is easy to understand.
 No need for specialized experts to build the model
 The prototype serves as a basis for deriving a system specification.
 The prototype helps to gain a better understanding of the customer's needs.
 Prototypes can be changed and even discarded.
 A prototype also serves as the basis for operational specifications.
 Prototypes may offer early training for future users of the software system.
 Disadvantages of the Prototyping Model

Here, are important cons/drawbacks of prototyping model:

 Prototyping is a slow and time taking process.


 The cost of developing a prototype is a total waste as the prototype is ultimately thrown
away.
 Prototyping may encourage excessive change requests.
 Some times customers may not be willing to participate in the iteration cycle for the
longer time duration.
 There may be far too many variations in software requirements when each time the
prototype is evaluated by the customer.
 Poor documentation because the requirements of the customers are changing.

(LDCE-IT-SE-MANUAL VER:2020) 8
 It is very difficult for software developers to accommodate all the changes demanded
by the clients.
 After seeing an early prototype model, the customers may think that the actual product
will be delivered to him soon.
 The client may lose interest in the final product when he or she is not happy with the
initial prototype.
 Developers who want to build prototypes quickly may end up building sub-standard

Limitations face in other Models


 It is difficult to find all the requirements of the software initially.
 It is very difficult to predict how the system will work after development.
These two limitations are removed in the prototyping model.
The first limitation is removed by unfreezing the requirements before any design or coding can
proceed.
The second limitation is removed by making a throw-away prototype to understand the
requirements.

Both stakeholders and software engineers like the prototyping paradigm. Users
get a feel for the actual system, and developers get to build something immediately.

SPIRAL MODEL
The spiral model, originally proposed by Boehm, is an evolutionary software model that couples
the iterative nature of prototyping with the controlled and systematic aspects of the linear
segmental model.

Spiral Model Phases


Spiral Model Phases Activities performed during phase
 Planning

(LDCE-IT-SE-MANUAL VER:2020) 9
It includes estimating the cost, schedule and resources for the iteration. It also involves
understanding the system requirements for continuous communication between the
system analyst and the customer
 Risk Analysis
Identification of potential risk is done while risk mitigation strategy is planned and
finalized
 Engineering
It includes testing, coding and deploying software at the customer site
 Evaluation
Evaluation of software by the customer. Also, includes identifying and monitoring risks
such as schedule slippage and cost overrun

When to use Spiral Methodology?


 When project is large
 When releases are required to be frequent
 When creation of a prototype is applicable
 When risk and costs evaluation is important
 For medium to high-risk projects
 When requirements are unclear and complex
 When changes may require at any time
 When long term project commitment is not feasible due to changes in economic
priorities

Limitations of Spiral Model


There are some limitations of the spiral model which include:
 No strict standards for software development.
 No particular beginning or end of a particular phase.

Advantages of Spiral Model


There are some advantages of the spiral model which include:
 It is risk-driven model.
 It is very flexible.
 Less documentation is needed.
 It uses prototyping.

Disadvantages of Spiral Model


The spiral model has some disadvantages that need to be resolved before it can be a universally
applied life-cycle model. The disadvantages include lack of explicit process guidance in
determining objectives, constraints, alternatives, relying on risk assessment expertise, and
providing more flexibility than required for many applications.

(LDCE-IT-SE-MANUAL VER:2020) 10
ITERATIVE-ENHANCEMENT MODEL

The iterative-enhancement model combines elements of the linear sequential model (applied
repetitively) with the iterative philosophy of prototyping. In this model, the software is broken
down into several modules, which are incrementally developed and delivered. First, the
development team develops the core module of the system and then it is later refined into
increasing levels of capability of adding new functionalities in successive versions.

Advantages of Iterative-Enhancement Model


 The various advantages of following the approach of the iterative-enhancement model
are as follows:
 The feedback from early increments improve the later stages.
 The possibility of changes in requirements is reduced because of the shorter time span
between the design of a component and its delivery.
 Users get benefits earlier than with a conventional approach.
 Early delivery of some useful components improves cash flow, because you get some
return on investment early on.
 Smaller sub-projects are easier to control and manage.
 ‘Gold-plating,’ that is the requesting of features that are unnecessary and not in fact
used, is less as users will know that if a feature is not in the current increment then it
can be included in the next.
 The project can be temporarily abandoned if more urgent work crops up.
 Job satisfaction is increased for developers who see their labors bearing fruit at regular,
short intervals.

(LDCE-IT-SE-MANUAL VER:2020) 11
Disadvantages of Iterative-Enhancement Model
The various disadvantages of the iterative-enhancement model include:
 Software breakage, that is, later increments may require modifications to earlier
increments.
 Programmers may be more productive working on one large system than on a series of
smaller ones.
 Some problems are difficult to divide into functional units (modules), which can be
incrementally developed and delivered.

RAD MODEL

The RAD (Rapid Application Development Model) model is proposed when requirements and
solutions can be modularized as independent system or software components, each of which can
be developed by different teams. After these smaller system components are developed, they are
integrated to produce the large software system solution. The modularization could be on a
functional, technology, or architectural basis, such as front-end-back-end, client side-server side,
and so on.
RAD becomes faster if the software engineer uses the component’s technology such that the
components are really available for reuse. Since the development is distributed into component-
development teams, the teams work in tandem and total development is completed in a short
period (i.e., 60 to 90 days).

(LDCE-IT-SE-MANUAL VER:2020) 12
Disadvantages of RAD Model
The various disadvantages of the RAD model include:
 For large, but scalable projects, RAD requires sufficient human resources to create the
right number of RAD teams.
 If developers and customers are not committed to the rapid-fire activities necessary to
complete the system in a much abbreviated timeframe, RAD projects will fail.
 If a system cannot be properly modularized, building the components necessary for
RAD will be problematic.
 If high performance is an issue, and performance is to be achieved through tuning the
interfaces to system components, the RAD approach may not work.
 RAD may not be appropriate when technical risks are high (for example, when a new
application makes heavy use of new technology).

Characteristics of software projects


 A clear and realistic goal.
 Powerful team leadership.
 Sense of ownership.
 Commitment to quality.

(LDCE-IT-SE-MANUAL VER:2020) 13
 Getting things done.
 Psychological safety.
 The right skills in your team.
 Your tech-stack is a right fit.

Characteristics of user/customers
 Demographics
 Geographics
 Psychographics
 Behavioristics
 Linguistics

Agile Model
The meaning of Agile is swift or versatile. "Agile process model" refers to a software
development approach based on iterative development. Agile methods break tasks into smaller
iterations, or parts do not directly involve long term planning. The project scope and
requirements are laid down at the beginning of the development process. Plans regarding the
number of iterations, the duration and the scope of each iteration are clearly defined in advance.

Each iteration is considered as a short time "frame" in the Agile process model, which typically
lasts from one to four weeks. The division of the entire project into smaller parts helps to
minimize the project risk and to reduce the overall project delivery time requirements. Each
iteration involves a team working through a full software development life cycle including
planning, requirements analysis, design, coding, and testing before a working product is
demonstrated to the client.

(LDCE-IT-SE-MANUAL VER:2020) 14
Phases of Agile Model:
Following are the phases in the Agile model are as follows:

 Requirements gathering
 Design the requirements
 Construction/ iteration
 Testing/ Quality assurance
 Deployment
 Feedback

1. Requirements gathering: In this phase, you must define the requirements. You should
explain business opportunities and plan the time and effort needed to build the project. Based on
this information, you can evaluate technical and economic feasibility.

(LDCE-IT-SE-MANUAL VER:2020) 15
2. Design the requirements: When you have identified the project, work with stakeholders to
define requirements. You can use the user flow diagram or the high-level UML diagram to show
the work of new features and show how it will apply to your existing system.

3. Construction/ iteration: When the team defines the requirements, the work begins. Designers
and developers start working on their project, which aims to deploy a working product. The
product will undergo various stages of improvement, so it includes simple, minimal
functionality.

4. Testing: In this phase, the Quality Assurance team examines the product's performance and
looks for the bug.

5. Deployment: In this phase, the team issues a product for the user's work environment.

6. Feedback: After releasing the product, the last step is feedback. In this, the team receives
feedback about the product and works through the feedback.

Agile Testing Methods:


 Scrum
 Crystal
 Dynamic Software Development Method(DSDM)
 Feature Driven Development(FDD)
 Lean Software Development
 eXtreme Programming(XP)

When to use the Agile Model?


 When frequent changes are required.
 When a highly qualified and experienced team is available.
 When a customer is ready to have a meeting with a software team all the time.
 When project size is small.

Advantage (Pros) of Agile Method:


 Frequent Delivery
 Face-to-Face Communication with clients.
 Efficient design and fulfils the business requirement.
 Anytime changes are acceptable.

(LDCE-IT-SE-MANUAL VER:2020) 16
 It reduces total development time.

Disadvantages (Cons) of Agile Model:


 Due to the shortage of formal documents, it creates confusion and crucial decisions
taken throughout various phases can be misinterpreted at any time by different team
members.
 Due to the lack of proper documentation, once the project completes and the developers
allotted to another project, maintenance of the finished project can become a difficulty.

Practical 2: Software Engineering Project: SRS Document

AIM: Select a MIS System and Prepare Problem Description, Solution, User
Roles and Responsibility, Inputs and Deliverable Output Products for system

1. Prepare List of Requirements with Classification of Requirement


( Feasibility, Functional /Non Functional, Type: User/System, Priority,
Delivery Mode: InPhase/Immediate )
(LDCE-IT-SE-MANUAL VER:2020) 17
2. Prepare SRS Document for Selected Project

Project Title:

Stakeholders:

Major Requirements:

Expected Delivery Time (Months):

User Roles:

Responsibility of Roles:

Major Modules:

1.

2.

Requirement No Description Type Nature


System Functional
(ModuleNo.ReqNo) /User /
NonFunctional
M1.R1 Steps :
R1.1:
R1.2:
R1.3:

1. User (Responsible )
2. Priority(High/Medium/Low, Immediate/
NextPhase)
3. Input
4. Output
M1.R2
....
M2.R1

❖ Problem Definition
In the past, the paper based system were used for storing the data of all students, but paper based
system is the best to store small database. Also paper based system have many disadvantages like
no modification in data after once data entered, no back up option & no sharing of data.

(LDCE-IT-SE-MANUAL VER:2020) 18
It may help collecting perfect management in detail in a very short time, the collection will be
obvious, simple and sensible. It will help a person to know the management of passed year
perfectly and vividly. It also helps in current all works relative to college. It will be also reduced
the cost of collecting the management and collection procedure will go on smoothly.

The present project has been developed to meet the aspirations indicated in the modern age. An
attempt has been made through this project to do all easy and fast.

It provides current add, update, move next, move previous, move last, find and delete all facility
to accomplish the desired objective. The facility includes in this project and the suggested
activities have been organized to import knowledge and develop skills and attitude in the college
official works.

REQUIREMENT ANALYSIS
What is Requirement Analysis?
Requirement analysis activity is translating the gathered information during the analysis phase
into a document that defines a set of requirements. It encompasses those tasks that go into
determining the needs or conditions to meet for a new or altered product or project taking
account of the possibly conflicting requirement of the various stakeholders, analyzing,
documenting, validating and managing software or system Requirements.

Figure 2.1 Requirement analysis Diagram

Fact finding techniques: -


Analysts use specific method for collecting data about requirement are called fact finding
techniques. There are many fact-finding techniques and tools. Among them few well known and
widely used techniques:

▪ Interview: -

The interview is face to face, verbal inter personal communication in which a person called
interviewer asks a person who is interviewing to gather information about problem definition.
This is oldest and most often used techniques. There are two types of interview.

• Structured interview: A structured interview is an interview which contain predefined set of


questions. In structured interview close-ended question types us used to limit answer to specify
choices, short and direct response from the interviewer.

(LDCE-IT-SE-MANUAL VER:2020) 19
• Unstructured interview: Interview that is conducted with only a general goal or subject in mind
and few If any specific question. Open-ended question types are used in unstructured interview
that allows user to answer freely in appropriate way.

▪ Questionnaire: -

In contrast to interview is the questionnaire. It is usually associated with self-administered with


fixed or closed alternative types. Use of questionnaire allows analysts to collect information
about various aspects of a system from large number of persons. There are two types of
questionnaire.

• Open-ended questionnaire: In open-ended questionnaire user can answer questions freely


without immediate response. The result is also useful in learning about feelings, opinions and
experiences of the respondents.

• Close-ended questionnaire: The purpose of close-ended questionnaire is to gather from


predefined format of questions. User can choose the result from the given answer. There are
three types of fixed question: multiple choice question, rating question, ranking question.

▪ Brainstorming session: -

It is a group technique that may be used during information gathering. It is also called group
discussion. It may lead new ideas quickly and promote creative thinking. This technique is used
by many companies to promote creative thinking

This session construct with actual users, middle level manager. Every idea documented in such
way that everyone can see it. On white board, notice board, transparency.

▪ Requirement: -

Requirements activity is translating the gathered information during the analysis phase into a
document that defines a set of requirements. Two types of requirement may be including:

❖ Functional requirement:

▪ The system shall display student details.

▪ System shall allow user to select and configure software detail.

▪ System shall allow user to create, update, delete student detail.

▪ Provide search facility in software.

▪ Maintain student’s information and data.

❖ Non-functional requirement:

(LDCE-IT-SE-MANUAL VER:2020) 20
▪ User interface: interface shall be compatible with web server like Google chrome Firefox etc.

▪ Hardware interface: Because we need internet to run this application. We must need hardware
like modem, WAN, LAN.

Problem Solving Techniques

A programming approach is nothing but way of solving the computational problem. During the
design and development of new products, designers and engineers rely on both a bottom-up and
top-down approach.

❖ Top down approach:

A top down approach is essential the breaking down of a system to gain inside into Its
compositional sub system. In a top down approach an overview of the system in formulated
specifying but not detailing any first level sub system. Each sub system is them defined in yet
greater details, sometimes in many additions a sub system levels until the entire a specification in
reduced to best elements.

▪ Advantages:

• We are realizing a focus use of resources from the individual managed application.

• When the phase is completed for the managed application you have deeper, more mature
implementation of the identity management solution.

• Operation and maintain resources are not initial input severely as with the bottom up approach.

❖ Bottom up approach

(LDCE-IT-SE-MANUAL VER:2020) 21
A bottom up approach is the piecing of together of system to give rise to grand system thus
making to the original system and sub system of the emergency system. In a bottom up approach
the individual base element of system are first specified in detail. These elements are them linked
together to from larger sub system which then in terms are linked. Sometimes in many levels
until a complete top-level system is formed.

▪ Advantages:

• Higher impact to organization.

• Replace many manual customs.

• Higher deployment coverage in early phase.

Why we use bottom up approach?

▪ Replace many manual processes with early automation with ease.

▪ Early to clear the ideas about software because in bottom up we have on directional means all
modules are decided in starting so software developing become easy.

▪ This approach allows system coding quickly.

▪ Testing can be done early.

▪ It encourage & leads to reusable code.

 Developer requirement
1. Software requirement: -

▪ Technology: - Android

Android is a Linux based operating system developed for smart phones or tablet computers.

▪ Front end: - Android, java

The official language for android is java. Large parts of Android are written in java.

▪ Back end: - My SQL server

My SQL is an open source relational database management system based on structured query
language.

(LDCE-IT-SE-MANUAL VER:2020) 22
▪ Tools: - Android studio

Android studio is an interested development environment from Google that provide developers
with tools needed to build application for android is platform.

2. Hardware Requirements: -

▪ Microsoft Windows 7/8/10 (32- or 64-bit) ▪ 3 GB RAM minimum, 8 GB RAM recommended;


plus 1 GB for the Android Emulator. ▪ 2 GB of available disk space minimum, 4 GB
Recommended (500 MB for IDE + 1.5 GB for Android SDK and emulator system image) ▪ 1280
x 800 minimum screen resolution.

 User requirement
1. Hardware Requirements:

▪ Smart android phone which have minimum 1GB RAM

2. Software Requirements:

▪ Android version kitkat (4.4) or above.

Android
Android is a mobile operating system developed by Google, based on the Linux kernel and
designed primarily for touch screen mobile devices such as smartphones and tablets. Initially
developed by Android Inc., which Google bought in 2005, Android was unveiled in 2007.
Android Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin, Rich Miner,
Nick Sears, and Chris White.

Why Android?

- Android provides a lot of fascinating features like:

▪ Interface: -

Android's default user interface is mainly based on direct manipulation, using touch inputs that
loosely correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to
manipulate on-screen objects, along with a virtual keyboard. Game controllers and full-size
physical keyboards are supported via Bluetooth or USB.

▪ Beautiful UI: -

Android is provided beautiful and intuitive user interface.

(LDCE-IT-SE-MANUAL VER:2020) 23
▪ Connectivity: -

GSM/EDGE, IDEN, CDMA, EV – DO, UMTS, Bluetooth, WIFI, LTE NFC and WIDI.

▪ Storage: -

SQLite is light weight relational, database is used for data storage purpose.

▪ Media support: -

Includes all types of audio and video formats files and support all types of image JPEG, PNG,
GTE.

▪ Messaging: -

Supports SMS, MMS.

▪ Web browser: -

Based on open source Web Kit layout engine, coupled with chromes vs JavaScript engine HTML
and CSS.

▪ Multitasking: -

User can jump one task to another task same time version application can run simultaneously.

MySQL
MySQL is an open-source relational database management system(RDBMS). The MySQL
development project has made its source code available under the terms of the GNU General
Public License, as well as under a variety of proprietary agreements.

It provides Security, Robustness, faster Deployment, Ease of Use and is easily available.
Considering the above features, we decided to use MySQL Server.

▪ Speed: -

Multithreaded architecture, multiple clients have concurrent access.

▪ Easy to use: -

Command line interface, graphical tools desktop/ web based.

▪ Multi user supports: -

(LDCE-IT-SE-MANUAL VER:2020) 24
Multiple clients have concurrent access to one or more database simultaneously. Powerful and
flexible user privilege system.

▪ Portability: -

Supports on Linux, windows.

▪ Standard compliance: -

MySQL operates in different modes that comply to different SQL standards.

(LDCE-IT-SE-MANUAL VER:2020) 25
Practical 3: Structured Software Engineering

AIM: Prepare following software engineering documents


1. Data flow Diagrams (0 level to Higher levels)
2. Data Dictionary
3. ER Diagram
4. Database Queries

1. Data flow Diagrams (0 level to Higher levels)


a. Context Level Diagram
b. 1st Level Diagram (All Modules)
c. 2nd Level Diagram (Any Two Modules )
2. Data Dictionary : (For atleast 5 Tables )
Table 1: Table Name
Purpose:
FieldName Data Type Constraints Description
IsPK,IsFK,Unique, NOTNULL

3. ER Diagram

4. Database Queries (For atleast 10 Pseudo Database Queries )

DATA FLOW DIAGRAMS:


A graphical tool used to describe and analyze the moment of data through a system

manual or automated including the process, stores of data, and delays in the system. Data Flow

Diagrams are the central tool and the basis from which other components are developed. The

transformation of data from input to output, through processes, may be described logically and

independently of the physical components associated with the system. The DFD is also know as

a data flow graph or a bubble chart.

(LDCE-IT-SE-MANUAL VER:2020) 26
DFDs are the model of the proposed system. They clearly should show the requirements

on which the new system should be built. Later during design activity this is taken as the basis

for drawing the system’s structure charts. The Basic Notation used to create a DFD’s are as

follows:

Dataflow: Data move in a specific direction from an origin to a destination.

Process: People, procedures, or devices that use or produce (Transform) Data. The physical

component is not identified.

3. Source: External sources or destination of data, which may be People, programs,

organizations or other entities.

Data Store: Here data are stored or referenced by a process in the System.

(LDCE-IT-SE-MANUAL VER:2020) 27
Context Level DATA FLOW DIAGRAM:

(LDCE-IT-SE-MANUAL VER:2020) 28
CONTEXT LEVEL DATA FLOW DIAGRAM

Branches

Data Base
Administrator Data Input Stages Data Output Stages

Services

Login
Eployee Data Input Stages Data Output Stages UI Screens

Transactions

Cutomer Data Input Stages Data Output Stages Reports

Cheques

Balance

InternetBanking

System Process

AUTHENTICATION DFD:

(LDCE-IT-SE-MANUAL VER:2020) 29
GUI Interface Username,Password Authentication Server

Authentication Server Authentication GUI Interface

NO

Level 2 Data Flow Diagram for Users Authentication

ADMIN:

(LDCE-IT-SE-MANUAL VER:2020) 30
CONTEXT LEVEL DATA FLOW DIAGRAM

Employee

Data Base
Data Output Stages

Branches

Services
Data Output Stages UI Screens

Administrator Data Input Stages

Accounttypes

Data Output Stages Reports

FundTransfer

CheqBookReq

InternetBanking

System Process

Level1 Data Flow Diagram for Admin:

(LDCE-IT-SE-MANUAL VER:2020) 31
Add
Employee
ViewBranche
s

View
Services

ViewAccount
Types

UI displaying
Admin Login set
Of Operations

View
ChequeIssue
s

General
Information View
CustomerTra
nsactions
View
Requests

LEVEL-2:

Administrator:

GUI Interface InputStage Employee OutputStage Data Base

Data Base InputStage Employee OutputStage GUI Interface

GUI Interface InputStage Branches OutputStage Data Base

Data Base InputStage Branches OutputStage GUI Interface

(LDCE-IT-SE-MANUAL VER:2020) 32
GUI Interface InputStage Services OutputStage Data Base

Data Base InputStage Services OutputStage GUI Interface

AccountTtype
GUI Interface InputStage OutputStage Data Base
s

Data Base InputStage AccountTypes OutputStage GUI Interface

GUI Interface InputStage FundTransfer OutputStage Data Base

Data Base InputStage FundTransfer OutputStage GUI Interface

GUI Interface InputStage CheqBookreq OutputStage Data Base

CheqBookRe
Data Base InputStage OutputStage GUI Interface
q

(LDCE-IT-SE-MANUAL VER:2020) 33
LEVEL-3:

ADMINISTRATOR:

Option1
GUI Interface Input Output AddEmployeeFile
AddEmployee

AddEmployeeFile In[ut DataStore Output GUI Interface

Option2
GUI Interface Input Output ViewEmployeeFile
ViewEmployee

ViewEmployeeFile Input DataStore Output GIU Interface

(LDCE-IT-SE-MANUAL VER:2020) 34
Option3
GUI Interface Input Output AddBranchesFile
AddBranches

AddBranchesFile Input DataStore Output GUI Interface

Option4
GUI Interface Input
ViewBranches
Output ViewBranchesFile

ViewBranchesFile Input DataStore Output GIU Interface

Option5
GUI Interface Input Output AddServicesfile
AddServices

AddServicesFile Input DataStore Output GUI Interface

Option6
GUI Interface Input Output ViewServicesFile
ViewServices

ViewServicesFile Input DataStore Output GIU Interface

(LDCE-IT-SE-MANUAL VER:2020) 35
Option7 ViewFundTransferF
GUI Interface Input Output
ViewFundTransfer ile

ViewFundTransferF
Input DataStore Output GUI Interface
ile

Option8
GUI Interface Input Output ViewLogindetailsFile
ViewLoginDetails

ViewLoginDetailsFil
Input DataStore Output GIU Interface
e

Option9
GUI Interface Input Output ViewChqbookReqFile
ViewCheqBookreq

ViewChqBookReqFile Input DataStore Output GUI Interface

Option10
GUI Interface Input
ViewStopPayments
Output ViewStopPaymentFile

ViewStopPaymentFile Input DataStore Output GIU Interface

(LDCE-IT-SE-MANUAL VER:2020) 36
LEVEL-4:

Administrator:

Enter MidName
Open form() Enter FirstName LastName Bar Reg Date
-------------------------
------------------- ---------------------- -------------------------- --------------------------
4.1.1.2
4.1.1.0 4.1.1.1 4.1.1.3 4.1.1.4

Select Qualification Enter Photograph Address PhoneNumber Emailid


Enter Pin no
--------------------------- -------------------------- ------------------------- -------------------------- -----------------------
4.1.1.10
4.1.1.5 4.1.1.6 4.1.1.7 4.1.1.8 4.1.1.9

Level 4 Data Flow Diagram for Add Employee Details

Enter
Open form() Enter Description
AccTypeName EnterAbbreviation
------------------- ---------------------------
---------------------- 4.1.2.2
4.1.2.0 4.1.2.3
4.1.2.1

Enterintrest EnterMinBal
EnterMinOpenBal EnteMaxOpenBal
--------------------------- ---------------------------
4.1.2.4 4.1.2.5
4.1.2.6 4.1.2.7

Level 4 Data Flow Diagram for Add Acc Types Details

Employee:

(LDCE-IT-SE-MANUAL VER:2020) 37
CONTEXT LEVEL DATA FLOW DIAGRAM

Customer

Data Base
Data Output Stages

Banks

FundTransfe
r
Data Output Stages UI Screens

Eployee Data Input Stages

Cheques

Data Output Stages Reports

StopPayment

CusTransactio
n

InternetBanking

System Process

Level1 Data Flow Diagram for Employee:

(LDCE-IT-SE-MANUAL VER:2020) 38
ViewBranche
s
Registration
View
Services

ViewAccount
Types

UI displaying
Employee Login set
Of Operations

View
ChequeIssue
s

General
Information View
CustomerTra
nsactions

LEVEL-2:

EMPLOYEE:

GUI Interface Input Customer Output Data Base

Data Base Input Customer Output GUI Interface

GUI Interface Input Banks Output Data Base

Data Base Input Banks Output GUI Interface

(LDCE-IT-SE-MANUAL VER:2020) 39
GUI Interface Input FundTransfer Output Data Base

Data Base Input FundTransfer Output GUI Interface

GUI Interface Input Cheques Output Data Base

Data Base Input Cheques Output GUI Interface

GUI Interface Input StopPay Output Data Base

Data Base Input StopPay Output GUI Interface

CusTransactio
GUI Interface Input Output Data Base
n

CusTransactio
Data Base Input Output GUI Interface
n

LEVEL-3:

(LDCE-IT-SE-MANUAL VER:2020) 40
Employee:

Option1
GUI Interface Input
AddCustomers
Output AddCustomerFile

AddCustomerFile Input DataStore Output GIU Interface

Option2
GUI Interface Input
ViewCustomerFile
Output ViewCustomerFile

ViewCustomerFile Input DataStore Output GIU Interface

Option3
GUI Interface Input
ViewBranches
Output ViewBranchesFile

ViewBranchesFile Input DataStore Output GIU Interface

(LDCE-IT-SE-MANUAL VER:2020) 41
Option4
GUI Interface Input
ViewAccountTypes
Output ViewAccountTypesFile

ViewAccounttypesFile Input DataStore Output GIU Interface

Option5
GUI Interface Input
ViewStopPayments
Output ViewStopPaymentsFile

ViewStopPaymentsFile Input DataStore Output GIU Interface

Option6
GUI Interface Input
AddBalanceEnquiry
Output AddBalanceEnquiryFile

AddBalanceEnquiryFile Input DataStore Output GIU Interface

(LDCE-IT-SE-MANUAL VER:2020) 42
Option7
GUI Interface Input Output ViewBalanceEnquiryFile
ViewBalanceEnquiryFile

ViewBalanceenquiryFile Input DataStore Output GIU Interface

Option8
GUI Interface Input Output AddCheqBookReqFile
AddChequeBookReq

AddCheqBookReqFile Input DataStore Output GUI Interface

Option9
GUI Interface Input
ViewCheqBookReq
Output ViewCheqBookreqFile

ViewCheqBookReqFile Input DataStore Output GIU Interface

Option10
GUI Interface Input AddMoneytransaction
Output AddMoneyTransactionFile

AddMoneyTransactionFile Input DataStore Output GIU Interface

(LDCE-IT-SE-MANUAL VER:2020) 43
Option11
GUI Interface Input
ViewMoneyTransaction
Output ViewMoneyTransactionFile

ViewMoneyTransactionFile Input DataStore Output GIU Interface

LEVEL-4:

Employee:

Enter Case Type


Enter Enter Case
Open form() Abbreviation
CaseTypeName TypeDescription
------------------- -------------------------
---------------------- ---------------------------
4.1.4.0 4.1.4.2
4.1.4.1 4.1.4.3

Enter Sdate Enter ChequeDate


Enter ChequeNo Select CustomerId
------------------- -------------------
------------------- -------------------
4.1.4.4 4.1.4.5
4.1.4.6 4.1.4.7

Level 4 Data Flow Diagram for Stop Payment Master Details

LEVEL-0:

(LDCE-IT-SE-MANUAL VER:2020) 44
Customer:

(LDCE-IT-SE-MANUAL VER:2020) 45
Level1: Data Flow Diagram For Customer:

ViewBranche
s
Registration
View
Services

ViewAccount
Types

UI displaying
Customer Login set
Of Operations

Add Money
Transactions

General
Information View
MoneyTransa
ctions

LEVEL-2:

Customer:

GUI Interface Input Banks Output Data Base

Data Base Input Banks Output GUI Interface

(LDCE-IT-SE-MANUAL VER:2020) 46
GUI Interface Input LoginDetails Output Data Base

Data Base Input LoginDetails Outptu GUI Interface

GUI Interface Input Cheques Output Data Base

Data Base Input Cheques Output GUI Interface

GUI Interface Input Balance Output Data Base

Data Base Input Balance Output GUI Interface

StopPayemen
GUI Interface Input Output Data Base
t

Data Base Input StopPayment Output GUI Interface

(LDCE-IT-SE-MANUAL VER:2020) 47
CusTransactio
GUI Interface Input Output Data Base
n

CusTransactio
Data Base Input Output GUI Interface
n

LEVEL-3:

Customer:

Option1
GUI Interface Input
ViewBankBranches
Output ViewBranchesFile

ViewBranchesFile Input DataStore Output GUI Interface

Option2
GUI Interface Input
ViewAccountType
Outptu ViewAccountTypeFile

ViewAccountTypeFile Input DataStore Output GUI Interface

(LDCE-IT-SE-MANUAL VER:2020) 48
Option3
GUI Interface Input
ViewLoginDetails
Output ViewLoginDetailsform

ViewLogindetailsForm Input DataStore Output GUI Interface

Option4
GUI Interface Input Output AddMoneyTransactionFile
AddMOneyTransaction

AddMoneyTransactionFile Input DataStore Output GUI Interface

Option5
GUI Interface Input
ViewMoneyTransaction
Output ViewMoneyTransactionFile

ViewMoneyTransactionFile Input DataStore Output GUI Interface

(LDCE-IT-SE-MANUAL VER:2020) 49
Option6
GUI Interface Input AddChequeBookRequest Output AddChequeBookReqdetFile
Master

AddCheqBookreqDetFile Input DataStore Output GUI Interface

Option7
GUI Interface Input ViewChequeBookReque Output ViewChequeBookReqdetFile
stMaster

ViewCheqBookreqDetFile Input DataStore Output GUI Interface

Option8
GUI Interface Input
ViewCheqIssueDet
Output ViewCheqIssueDetFile

ViewCheqIssueDetFile Input DataStore Output GUI Interface

LEVEL-4:

(LDCE-IT-SE-MANUAL VER:2020) 50
Customer:

Enter Enter
Enter RequestTime
Abbreviation
Open form() Enter AccountNo Enter
EnterRequestDate
Description
LawTypeName -------------------------
------------------- ----------------------------- ---------------------------
---------------------- 4.1.2.2
4.1.3.2
4.1.2.0
4.1.3.0 4.1.3.1 4.1.2.3
4.1.3.3
4.1.2.1

Enter Enter Previous


Section
ChequbookPosted BookStatus
CutomerId
Bit -------------------------
---------------------------
---------------------- 4.1.2.3.6
4.1.3.4
4.1.3.5

Level 4 Data Flow Diagram for Add Cheque Book Request Details

ER Diagram:

(LDCE-IT-SE-MANUAL VER:2020) 51
SQL QUERIES FOR DATA BASE :
TABLE : ACCOUNTTYPEMASTER
CREATE TABLE ACCOUNTTYPEMASTER

(LDCE-IT-SE-MANUAL VER:2020) 52
(
ACCOUNTTYPEID NUMBER,
TYPENAME VARCHAR2(20 BYTE),
ABBREVATION VARCHAR2(20 BYTE),
MINOPENBALANCE NUMBER(10,2),
MAXOPENBALANCE NUMBER(10,2),
INTRESTAPPLICABLEBIT VARCHAR2(20 BYTE),
DESCRIPTION VARCHAR2(20 BYTE),
MINBALANCETOBEMAINTAINED NUMBER(10,2),
CHECKBOOKFACILITYBIT VARCHAR2(20 BYTE),
BANKTYPEBIT VARCHAR2(20 BYTE),
BALACNCETYPEBIT VARCHAR2(20 BYTE)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE ACCOUNTTYPEMASTER ADD (


PRIMARY KEY
(ACCOUNTTYPEID)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));

BALANCEENQUIRYMASTER :
CREATE TABLE BALANCEENQUIRYMASTER
(
ENQUIRYID NUMBER,
ENQUIRYDATE DATE,
LOGINID VARCHAR2(20 BYTE),
FROMDATE DATE,

(LDCE-IT-SE-MANUAL VER:2020) 53
TODATE DATE,
ACCOUNTNO NUMBER,
AMOUNT NUMBER
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE BALANCEENQUIRYMASTER ADD (


PRIMARY KEY
(ENQUIRYID)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));

ALTER TABLE BALANCEENQUIRYMASTER ADD (


CONSTRAINT BALANCEENQUIRYMASTER_R01
FOREIGN KEY (ACCOUNTNO)
REFERENCES BANKACCOUNTS (ACCOUNTNO));

CREATE TABLE BANKACCOUNTS


(
LOGINID VARCHAR2(20 BYTE),
ACCOUNTNO NUMBER,
ACCOUNTINITIALBALANCE NUMBER,
ACCOUNTACTIVEBALANCE NUMBER,
ACCOUNTOPENINGDATE DATE,
BRANCHADDRESS VARCHAR2(20 BYTE)
)

(LDCE-IT-SE-MANUAL VER:2020) 54
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

CREATE UNIQUE INDEX BANKACCOUNTS_PK ON BANKACCOUNTS


(ACCOUNTNO)
LOGGING
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;

BANKACCOUNTS:
ALTER TABLE BANKACCOUNTS ADD (
CONSTRAINT BANKACCOUNTS_PK
PRIMARY KEY
(ACCOUNTNO)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));

ALTER TABLE BANKACCOUNTS ADD (


CONSTRAINT BANKACCOUNTS_R01

(LDCE-IT-SE-MANUAL VER:2020) 55
FOREIGN KEY (LOGINID)
REFERENCES LOGINDETAILS (LOGINNAME));

BANKACCOUNTTYPES:
CREATE TABLE BANKACCOUNTTYPES
(
BRANCHID NUMBER,
ACCOUNTYPEID NUMBER
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE BANKACCOUNTTYPES ADD (


CONSTRAINT BANKACCOUNTTYPES_R01
FOREIGN KEY (ACCOUNTYPEID)
REFERENCES ACCOUNTTYPEMASTER (ACCOUNTTYPEID));

BANKBRANCHMASTER:
CREATE TABLE BANKBRANCHMASTER
(
BRANCHID NUMBER,
BRANCHADDRESS VARCHAR2(20 BYTE),
BRANCHPHONENO1 VARCHAR2(20 BYTE),
BRANCHPHONENO2 VARCHAR2(20 BYTE),
BRANCHPHONENO3 VARCHAR2(20 BYTE),
EMAIL VARCHAR2(20 BYTE)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1

(LDCE-IT-SE-MANUAL VER:2020) 56
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE BANKBRANCHMASTER ADD (


PRIMARY KEY
(BRANCHID)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));

BANKSERVICESMASTER:
CREATE TABLE BANKSERVICESMASTER
(
SERVICEID NUMBER,
SERVICENAME VARCHAR2(20 BYTE),
SERVICEACTIVESTATE VARCHAR2(20 BYTE),
SERVICEDESC VARCHAR2(20 BYTE)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

(LDCE-IT-SE-MANUAL VER:2020) 57
ALTER TABLE BANKSERVICESMASTER ADD (
PRIMARY KEY
(SERVICEID)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));

BRANCHEMPLOYEE:
CREATE TABLE BRANCHEMPLOYEE
(
LOGINNAME VARCHAR2(20 BYTE),
BRANCHADDRESS VARCHAR2(20 BYTE)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE BRANCHEMPLOYEE ADD (


CONSTRAINT BRANCHEMPLOYEE_R01

(LDCE-IT-SE-MANUAL VER:2020) 58
FOREIGN KEY (LOGINNAME)
REFERENCES LOGINDETAILS (LOGINNAME));

BRANCHSERVICEMASTER:
CREATE TABLE BRANCHSERVICEMASTER
(
BRANCHID NUMBER,
SERVICEID NUMBER
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE BRANCHSERVICEMASTER ADD (


CONSTRAINT BRANCHSERVICEMASTER_R01

(LDCE-IT-SE-MANUAL VER:2020) 59
FOREIGN KEY (SERVICEID)
REFERENCES BANKSERVICESMASTER (SERVICEID));

CHEQUEBOOKREQUESTMASTER :
CREATE TABLE CHEQUEBOOKREQUESTMASTER
(
REQUESTID NUMBER,
REQUESTDATE DATE,
LOGINID VARCHAR2(20 BYTE),
ACCOUNTNO NUMBER,
CHEQUEBOOKTEST VARCHAR2(20 BYTE),
PREVIOUSCHEQUEBOOKSTATUS VARCHAR2(20 BYTE),
STATUS VARCHAR2(20 BYTE)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE CHEQUEBOOKREQUESTMASTER ADD (


CONSTRAINT CHEQUEBOOKREQUESTMASTER_R01
FOREIGN KEY (ACCOUNTNO)
REFERENCES BANKACCOUNTS (ACCOUNTNO));

CHEQUEISUEMASTER:
CREATE TABLE CHEQUEISUEMASTER
(
CHEQUEISSUEID NUMBER,
REQUESTID NUMBER,
ISUEDATE DATE,
FROMNUMBER NUMBER,
TONUMBER NUMBER,
ACCOUNTNO NUMBER,
EMPLOYEENAME VARCHAR2(20 BYTE),
NOOFCHEQUES NUMBER

(LDCE-IT-SE-MANUAL VER:2020) 60
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE CHEQUEISUEMASTER ADD (


PRIMARY KEY
(CHEQUEISSUEID)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));

ALTER TABLE CHEQUEISUEMASTER ADD (


CONSTRAINT CHEQUEISUEMASTER_R01
FOREIGN KEY (ACCOUNTNO)
REFERENCES BANKACCOUNTS (ACCOUNTNO));

CUSTOMERTRANSACTIONMASTER:
CREATE TABLE CUSTOMERTRANSACTIONMASTER
(
TRANSACTIONID NUMBER,
EMPLOYEENAME VARCHAR2(20 BYTE),
TRANSACTIONDATE DATE,
TRANSACTIONTYPE VARCHAR2(20 BYTE),
AMOUNT NUMBER,
ACCOUNTNO NUMBER,
BRANCHNAME VARCHAR2(20 BYTE)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10

(LDCE-IT-SE-MANUAL VER:2020) 61
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

CREATE UNIQUE INDEX CUSTOMERTRANSACTIONMASTER_PK ON


CUSTOMERTRANSACTIONMASTER
(TRANSACTIONID)
LOGGING
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;

ALTER TABLE CUSTOMERTRANSACTIONMASTER ADD (


CONSTRAINT CUSTOMERTRANSACTIONMASTER_PK
PRIMARY KEY
(TRANSACTIONID)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));

ALTER TABLE CUSTOMERTRANSACTIONMASTER ADD (


CONSTRAINT CUSTOMERTRANSACTIONMASTER_R01
FOREIGN KEY (ACCOUNTNO)
REFERENCES BANKACCOUNTS (ACCOUNTNO));

(LDCE-IT-SE-MANUAL VER:2020) 62
FUNDSTRANSFER:
CREATE TABLE FUNDSTRANSFER
(
FUNDSTRANSFERID NUMBER,
FUNDSTRANSFERDATE DATE,
FROMACCOUNTNO VARCHAR2(20 BYTE),
TOACCOUNTNO VARCHAR2(20 BYTE),
AMOUNT NUMBER,
LOGINID VARCHAR2(20 BYTE)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE FUNDSTRANSFER ADD (


PRIMARY KEY
(FUNDSTRANSFERID)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));

ALTER TABLE FUNDSTRANSFER ADD (


CONSTRAINT FUNDSTRANSFER_R01
FOREIGN KEY (LOGINID)
REFERENCES LOGINDETAILS (LOGINNAME));

LOGINAUDIT:

(LDCE-IT-SE-MANUAL VER:2020) 63
CREATE TABLE LOGINAUDIT
(
LOGINID VARCHAR2(20 BYTE),
LOGINDATE DATE,
LOGINDESC VARCHAR2(200 BYTE)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE LOGINAUDIT ADD (


FOREIGN KEY (LOGINID)
REFERENCES LOGINDETAILS (LOGINNAME)
ON DELETE CASCADE);

LOGINDETAILS:
CREATE TABLE LOGINDETAILS
(
LOGINNAME VARCHAR2(20 BYTE),
PASSWORD VARCHAR2(20 BYTE),
FIRSTNAME VARCHAR2(20 BYTE),
LASTNAME VARCHAR2(20 BYTE),
LOGINTYPE VARCHAR2(20 BYTE),
LOGINSTATUS VARCHAR2(20 BYTE),
REGDATE DATE,
SQUESTIONID NUMBER,
SANSWER VARCHAR2(20 BYTE),
FIRSTLOGIN NUMBER,
PASSMODIFIEDDATE DATE
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255

(LDCE-IT-SE-MANUAL VER:2020) 64
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE LOGINDETAILS ADD (


PRIMARY KEY
(LOGINNAME)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));

ALTER TABLE LOGINDETAILS ADD (


UNIQUE (PASSWORD)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));

LOGINPROFILE:
CREATE TABLE LOGINPROFILE
(
LOGINID VARCHAR2(20 BYTE),
BIRTHDATE DATE,
HNO VARCHAR2(20 BYTE),
STREET VARCHAR2(20 BYTE),
CITY VARCHAR2(20 BYTE),
STATE VARCHAR2(20 BYTE),
COUNTRY VARCHAR2(20 BYTE),

(LDCE-IT-SE-MANUAL VER:2020) 65
PINCODE VARCHAR2(20 BYTE),
CONTACTNO VARCHAR2(20 BYTE),
EMAIL VARCHAR2(200 BYTE),
LOCALE VARCHAR2(20 BYTE),
PROFILEMODIFIEDDATE DATE
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE LOGINPROFILE ADD (


FOREIGN KEY (LOGINID)
REFERENCES LOGINDETAILS (LOGINNAME)
ON DELETE CASCADE);

QUESTIONBASE :
CREATE TABLE QUESTIONBASE
(
QUESTIONID NUMBER,
QUESTIONDETAIL VARCHAR2(20 BYTE)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS

(LDCE-IT-SE-MANUAL VER:2020) 66
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE QUESTIONBASE ADD (


PRIMARY KEY
(QUESTIONID)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));

STOPPAYMENTMASTER :
CREATE TABLE STOPPAYMENTMASTER
(
STOPPAYMENTTYPEID NUMBER,
STOPPAYDATE DATE,
LOGINID VARCHAR2(20 BYTE),
ACCOUNTNO VARCHAR2(20 BYTE),
CHEQUENO NUMBER,
AMOUNT NUMBER(10,2),
CHEQUEDATE DATE,
REASONFORSTOPPING VARCHAR2(20 BYTE),
STATUS VARCHAR2(20 BYTE)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

ALTER TABLE STOPPAYMENTMASTER ADD (


PRIMARY KEY

(LDCE-IT-SE-MANUAL VER:2020) 67
(STOPPAYMENTTYPEID)
USING INDEX
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));

Practical 4: Object Oriented Software Engineering: Structural


UML Diagrams

AIM: Prepare following diagrams for selected project:


1. Class diagram,
2. Object diagram
3. Package diagram
4. Component diagram
5. Composite structure diagram
6. Deployment diagram

1. Class diagram (All Classes )

(LDCE-IT-SE-MANUAL VER:2020) 68
A class represent a concept which encapsulates state (attributes) and behavior (operations). Each

attribute has a type. Each operation has a signature. The class name is the  only mandatory

information.

Class Name:
 The name of the class appears in the first partition.

Class Attributes:
 Attributes are shown in the second partition.
 The attribute type is shown after the colon.
 Attributes map onto member variables (data members) in code.

Class Operations (Methods):


 Operations are shown in the third partition. They are services the class provides.
 The return type of a method is shown after the colon at the end of the method signature.
 The return type of method parameters are shown after the colon following the parameter name.
Operations map onto class methods in code

 Class Visibility: The +, - and # symbols before an attribute and operation name in a class
denote the visibility of the attribute and operation.
 + denotes public attributes or operations
 - denotes private attributes or operations,
 # denotes protected attributes or operations

(LDCE-IT-SE-MANUAL VER:2020) 69
Parameter Directionality: Each parameter in an operation (method) may be denoted as
in, out or inout which specifies its direction with respect to the caller. This directionality is shown
before the parameter name.

Relationship

Example: Order Processing

(LDCE-IT-SE-MANUAL VER:2020) 70
2. Object diagram (All Objects)
The use of object diagrams is fairly limited, mainly to show examples of data structures.
A. During the analysis phase of a project, you might create a class diagram to describe the
structure of a system and then create a set of object diagrams as test cases to verify the
accuracy and completeness of the class diagram.
B. Before you create a class diagram, you might create an object diagram to discover facts about
specific model elements and their links, or to illustrate specific examples of the classifiers
that are required.
C. Object Names: Every object is actually symbolized like a rectangle, that offers the name
from the object and its class underlined as well as divided with a colon.
D. Object Attributes: Similar to classes, you are able to list object attributes inside a separate
compartment. However, unlike classes, object attributes should have values assigned for
them.
E. Links: Links tend to be instances associated with associations. You can draw a link while
using the lines utilized in class diagrams.

3. Package diagram
Package diagrams are used to structure high level system elements. Packages are used for organizing
large system which contains diagrams, documents and other key deliverables.
A. Package Diagram can be used to simplify complex class diagrams, it can group classes into
packages.
B. A package is a collection of logically related UML elements.
C. Packages are depicted as file folders and can be used on any of the UML diagrams.

Example: Order Subsystem

(LDCE-IT-SE-MANUAL VER:2020) 71
4. Component diagram
Component diagram is a collection of vertices and arcs and commonly contain components, interfaces
and dependency, aggregation, constraint, generalization, association, and realization relationships. It
may also contain notes and constraints.
A. Association
B. Composition
C. Aggregation
D. Constraint
E. Dependency
F. Links

Example : Java Source Code

Library

(LDCE-IT-SE-MANUAL VER:2020) 72
5. Composite structure diagram:
A. Composite Structure Diagrams allow the users to "Peek Inside" an object to see exactly what it
is composed of.
B. The internal actions of a class, including the relationships of nested classes, can be detailed.
C. Objects are shown to be defined as a composition of other classified objects.
D. Composite Structure Diagrams show the internal parts of a class.
E. Parts are named: partName:partType[multiplicity]
F. Aggregated classes are parts of a class but parts are not necessarily classes, a part is any
element that is used to make up the containing class.

Example : Computer System


Class, Part, Port, Multiplicity Connectors,Interface

(LDCE-IT-SE-MANUAL VER:2020) 73
6. Deployment diagram
A. They show the structure of the run-time system
B. They capture the hardware that will be used to implement the system and the links between
different items of hardware.
C. They model physical hardware elements and the communication paths between them
D. They can be used to plan the architecture of a system.
E. They are also useful for Document the deployment of software components or nodes

Place and Connections of Software SubSystems

1 ) Class Diagram :

(LDCE-IT-SE-MANUAL VER:2020) 74
2) Object Diagram : jaate banavano

3) Package Diagram:

(LDCE-IT-SE-MANUAL VER:2020) 75
4) Composite Structure Diagram:

(LDCE-IT-SE-MANUAL VER:2020) 76
5) Component Diagram:

6) Deployment Diagram:

(LDCE-IT-SE-MANUAL VER:2020) 77
(LDCE-IT-SE-MANUAL VER:2020) 78
Practical 5: Object Oriented Software Engineering: Behavioral
UML Diagrams

AIM: Prepare following diagrams for selected project:


1. Use case diagram
2. Activity diagram
3. Sequence diagram
4. State diagram
5. Communication diagram
6. Interaction overview diagram
7. Timing diagram

1. Use case diagram


Purpose of Use Case Diagram
Use case diagrams are typically developed in the early stage of development and people often apply use
case modeling for the following purposes:
 Specify the context of a system
 Capture the requirements of a system
 Validate a systems architecture
 Drive implementation and generate test cases
 Developed by analysts together with domain experts
A standard form of use case diagram is defined in the Unified Modeling Language as shown in the Use
Case Diagram example below:
 Actor
 Use Case
 Communication Link
 Boundary of system

USE Case Relationship:


• Extends
• Include
• Generalization
2. Activity diagram
 Identify candidate use cases, through the examination of business workflows

(LDCE-IT-SE-MANUAL VER:2020) 79
 Identify pre- and post-conditions (the context) for use cases
 Model workflows between/within use cases
 Model complex workflows in operations on objects
 Model in detail complex activities in a high level activity Diagram

3. Sequence diagram
 Model high-level interaction between active objects in a system
 Model the interaction between object instances within a collaboration that realizes a use case
 Model the interaction between objects within a collaboration that realizes an operation
 Either model generic interactions (showing all possible paths through the interaction) or specific
instances of a interaction (showing just one path through the interaction)
Example :Hotel Reservation

(LDCE-IT-SE-MANUAL VER:2020) 80
4. State diagram
State machine diagram typically are used to describe state-dependent behavior for an object.  An
object responds differently to the same event depending on what state it is in . State machine
diagrams are usually applied to objects but can be applied to any element that has behavior to other
entities such as: actors, use cases, methods, subsystems systems and etc. and they are typically used
in conjunction with interaction diagrams (usually sequence diagrams)

States:
1. Initial State-Entry State
2. Final State -Exit State
Events :
1. Signal event - corresponding to the arrival of an asynchronous message or signal
2. Call event - corresponding to the arrival of a procedural call to an operation
3. Time event - a time event occurs after a specified time has elapsed
4. Change event - a change event occurs whenever a specified condition is met
Transition
1. An element is in a source state
2. An event occurs
3. An action is performed
4. The element enters a target state

Substates:
A simple state is one which has no substructure. A state which has substates (nested states) is called a
composite state. Substates may be nested to any level. A nested state machine may have at most one
initial state and one final state

Example:Heater

(LDCE-IT-SE-MANUAL VER:2020) 81
5. Communication diagram

 Model message passing between objects or roles that deliver the functionalities of use cases and
operations
 Model mechanisms within the architectural design of the system
 Capture interactions that show the passed messages between objects and roles within the
collaboration scenario
 Model alternative scenarios within use cases or operations that involve the collaboration of
different objects and interactions
 Support the identification of objects (hence classes), and their attributes (parameters of
message) and operations (messages) that participate in use cases
 Each message in a communication diagram has a sequence number.
 The top-level message is numbered 1.
 Messages sent during the same call have the same decimal prefix, but suffixes of 1, 2, etc.
according to when they occur.

(LDCE-IT-SE-MANUAL VER:2020) 82
Example : Hotel Reservation Diagram

6. Interaction overview diagram


a student who has been accepted into a university. First the student must be accept or decline
admission. After accepting, the student must both register for classes and apply for housing. After
both of those are complete, the student must pay the registrar. If payment is not received in time the
student is excluded by the registrar.

(LDCE-IT-SE-MANUAL VER:2020) 83
7. Timing diagram
Changes from one state to another are represented by a change in the level of the lifeline. For the
period of time when the object is a given state, the timeline runs parallel to that state. A change in state
appears as a vertical change from one level to another. The cause of the change, as is the case in a state
or sequence diagram, is the receipt of a message, an event that causes a change, a condition within the
system, or even just the passage of time.

Value Lifeline

(LDCE-IT-SE-MANUAL VER:2020) 84
1) Use-Case Diagram:

System use case Diagram:

System

Administrator

InternetBanking

Employee

Customer

Administrator Use case Diagram:


(LDCE-IT-SE-MANUAL VER:2020) 85
Add Employee

View Employee

Employees

Add Branches

View Branches

Branches

Add Services

Services View Services

Add Account Types


Account Types

Administrator View Account Types


Fund Transfer

Customer Login View Fund transfers

Cheq Book Req View Login Details

View Requests
Stop Payment

View Stop Payments

Employee Use case Diagram:

(LDCE-IT-SE-MANUAL VER:2020) 86
Add Customers

customers View Customers

view Branches

view Account types


Banks

View Services

View Fund Transfer


Employee Fund Transfer

view Cheq Req

Cheques View chq cancel

add Cheq issue

View Chq Issue

Stop Payment
Add Stop Payment

View Stop Pay

Cus transaction
View CusTransac

Customer Use Case Diagram:

(LDCE-IT-SE-MANUAL VER:2020) 87
View Branches

View Services
Banks

View Account Types

Login View Login Details

Add Bal Enquiry

Balance

View Bal Enq

Add Cheq book req

Customer
Cheques

view Cheq Req

Stop Payment

View Stop Payments

Add Money Transac

Transaction

View Money Transac

2) Activity Diagram:

(LDCE-IT-SE-MANUAL VER:2020) 88
Administrator Activity Diagram:

Employee Activity Diagram:

Employee

Authentication
Enter UserName,Password

if fail

Check Check Authentication

if Success

Home Customer Banks FundTransfer Cheques StopPay CusTransac Logout

AddCustomer ViewCustomer ViewFundTransfer AddStopPay ViewStopPay ViewCusTransac

ViewBranches ViewAccTypes ViewService AddCheqissue ViewChqIssue ViewChqReq

Customer Activity Diagram:

(LDCE-IT-SE-MANUAL VER:2020) 89
Customer

Authentication
Enter UserName,Password

if fail

Check Check Authentication

if Success

Home Banks Login Balance Cheques StopPay Transaction Logout

ViewBranches ViewServices ViewAccountTypes ViewLoginDet AddBalEnquiry ViewBalEnquiry ViewStopPay ViewBalEnq

AddCheqReq ViewChqReq

3) Sequence Diagram:
(LDCE-IT-SE-MANUAL VER:2020) 90
Administrator Sequence Diagram:

Administrator Authentication Employees Branches Services Account Types Fund Transfer CustomerLogin CheqBookReq StopPayment

Success(

Failed()

if fail

Add Employee()

View

Add

View

Add

View

Add Account

View Account

View Fund

View Login

View Cheque Book

View Stop Payment

Employee Sequence Diagram:

(LDCE-IT-SE-MANUAL VER:2020) 91
Employee Authentication Customers Banks Fund Transfer Cheques Stop Payment Cus
Transaction

Login()

Fail()

if fails if success

Add

View

View

View

View

View Fund

View Cheque

View Cheque

Add Cheque Issue()

View ChequeIssue()

Add Stop

View Stop

View CustomerTransac

Customer Sequence Diagram:

(LDCE-IT-SE-MANUAL VER:2020) 92
Customer Authntication Banks Login Balance Cheques StopPayment Transaction

Login()

Check(

Failed()

if Failes if Success

View

View

View Account

View Login

Add Balance

View Balance

Add ChequeBook

ViewChequeBook

ViewStop

AddMoney

ViewMoney

4) State Diagram:

(LDCE-IT-SE-MANUAL VER:2020) 93
5) Timing Diagram :

Practical 6: User Interface Design Software Design Document

(LDCE-IT-SE-MANUAL VER:2020) 94
AIM: Draw User Interface using CUI/GUI Methods-Menu Driven, Card Driven
for selected project.

Prepare Software Design Document for the Project.

GUI Design Layout (Desktop/Web/Mobile)(7-10 Screen Layout)


Design Principle for GUI

1. Contrast
2. Hierarchy
3. Proximity
4. Alignment
Components
1. Buttons
1. 2 Text Input
2. Dropdown Menu (Combo Box)
3. Radio Buttons and Checkboxes
4. Links
5. Tabs
6. Breadcrumbs
7. Vertical Navigation
8. Menu Bars
9. Accordions
10. Validation
11. Tooltips
12. Alerts
13. Data Tables
14. Icons
Shopping System

(LDCE-IT-SE-MANUAL VER:2020) 95
(LDCE-IT-SE-MANUAL VER:2020) 96
(LDCE-IT-SE-MANUAL VER:2020) 97
(LDCE-IT-SE-MANUAL VER:2020) 98
1) Actor: Admin
The Admin module consists of the following services:

1) Login
2) Create new Account types
3) Adding new Branch
4) Registering a new Employee
5) View Employees information
6) Change profile
7) Change Employee designation
8) Change branch details
9) Change Account Type details
10) Send message
11) View message
12) Block/Remove Employees
13) View account type Details
14) View branch details
15) Logout

Login:

In this process, Admin enters his username (i.e. his empid), password and submitted details are verified at
the server side. If he is authorized, then only he is presented with his remaining services otherwise his
access is denied

Create new Account types:

(LDCE-IT-SE-MANUAL VER:2020) 99
In this process, Admin is allowed to create a new account type. If any new recommended account type
has come up in existing system then Admin has a privilege to make an entry of the account type details
into the database, so that a centralized access will make the users of the application to observe the change
that is introduced into the system.

Adding new branch:

(LDCE-IT-SE-MANUAL VER:2020) 100


This service of Admin allows him to add a new branch. If any new branch comes into existence then the
relevant information (such as Branch Id, Branch Name, Location, Address, Pin code and Contact number)
is entered into the system by him.

View Employees:

Using this process, Admin can view employee detail like his personal profile as well as other details
related to organization.

Change profile:

In this process, Admin can edit his own profile like his telephone number, Email and address.

Change Employee designation:

This service enables Admin to change the cadre of an employee incase of any change in the designation
or department. Here, the Admin is displayed with a list of employee ids available in the database and by
selection of any particular employee, his details are displayed so that Admin is allowed to change the

(LDCE-IT-SE-MANUAL VER:2020) 101


designation to the required status. This change is further updated in the backend by the use of
appropriate operations. The output will be either successor failure of the transaction

Change branch details:

This process facilitates the Admin to edit branch details incase of any change that has occurred with
the existing system. Branch Id is taken as the input and on obtaining the respective branch details,
required fields like location, address or phone number are modified. Hence the details are updated for the
later use.

Add new Employees:

This process registers a new employee by entering all the details like First Name, Last Name,
Designation, Date of join, address, salary and so on. If the record is successfully entered into the database
then the employee id is auto generated by the system in a specific format (ex. E07101). This empid is
unique and each employee is identified by his empid

(LDCE-IT-SE-MANUAL VER:2020) 102


Change Account type details:

This process facilitates the Admin to edit account type details incase of any change that has occurred with
the existing system. Acctype is taken as the input and on obtaining the respective account type details,
required fields like rate of interest, minimum balance and period are subjected to be modified.

Hence the details are updated for the later use by any part of the organization.

Send messages:

With this service, Admin is capable to send messages to any other user based on the requirement that is
raised at any time. This service takes to address, subject and message as the input from the Admin and
after sending the data to the respective recipient successfully, the acknowledgement is sent to him.

View messages:

This privilege lets the Admin to view the messages that are in his inbox.

(LDCE-IT-SE-MANUAL VER:2020) 103


Block/Remove employees:

There might be some situations where an employee of the organization is subjected to any illegal
activities or it is also possible that an employee quits from the organization and in such a times his data
must be either omitted from the working employees data or sent to some other storage unit. This
responsibility of maintaining the information in a secured and reliable manner is taken care by the admin
with the help of this subsystem or process.

View branch details:

This service helps the Admin to view the branch details based on requirement. The branch details like
branch id, location, address, phone

 View Account Type Details:


This service helps the Admin to view the account type details based on requirement. The account details
like minimum balance, account name, interest, period of the account type that is requested are
displayed.

 Logout:

(LDCE-IT-SE-MANUAL VER:2020) 104


Whenever the Admin wants to quit the application, he needs to use this service so that the session will be
invalidated so that no one can access his account thus restricting others in accessing the Admin’s account.

2) Actor --Cashier
The Cahier module consists of the following services:

1) Login
2) Change profile
3) Create account
4) View account details
5) Deposit
6) Withdrawal
7) View balance
8) Transfer amount Details
9) Generate a/c stmt
10) View messages

11) Send messages

12) Logout

 Login:
In this process, Cashier enters his username (i.e. his empid), password and submitted details are
verified at the server side. If he is authorized, then only he is presented with his remaining services
otherwise his access is denied.

 Change profile:
In this process, Cashier has a privilege to edit his own profile like his telephone number, Email and
address.

Create Customer Account:

In this process, Cashier enters all the customer details that are required to create the account such as
account details, personal details, account options, account nominee details and the account additional
information. In case he gets any request for opening a new account by the customer then that will also be
collected and the request is forwarded to Manager for approval. After the approval of account, the
account number that is auto generated by the system is used to identify the customer’s account for any
further transactions.

(LDCE-IT-SE-MANUAL VER:2020) 105


View Account Details:

With this service, the Cashier has the privilege to view the account details of each customer who has an
account and based on these details’ other transactions like deposit, withdrawal etc. are processed.

(LDCE-IT-SE-MANUAL VER:2020) 106


Deposit:

This service is used by the Cashier whenever a customer credits some amount into any of the
account. This amount is deposited and the transaction is recorded into the concerned account by
the cashier for the later use.

Withdrawal:

In this process, when a customer makes a request for withdrawing some amount from his account, then
Cashier enters customers account details with account no and issues cash to the customer based on the
availability of the requested amount in his account.

View Balance:

(LDCE-IT-SE-MANUAL VER:2020) 107


Cashier is provided with a service of viewing the customer’s account balance whenever required. Here he
enters the customer’s account number and views balance amount. This information can also be used to do
other kinds of transaction like withdrawal and Transfer of amount.

 Transfer Amount Details:

This service serves the Cashier when customer sends a request to process the Transfer of amount
from his account to other. The source and destination account numbers along with their balances
are verified to be correct inorder to process the request. Also this transaction is recorded that can
be of use in future.

(LDCE-IT-SE-MANUAL VER:2020) 108


Generate Account Statement:

Account statement is a statement that shows all the transactions made by the customer in his account.
The Cashier checks customer account details based on his accno and based on his transactions, generates
an account statement for that respective customer and the respective period of time.

(LDCE-IT-SE-MANUAL VER:2020) 109


 Send messages:
With this service, Cashier is capable to send messages to any other user based on the requirement
that is raised at any time. This service takes to address, subject and message as the input from the
Cashier and after sending the data to the respective recipient successfully, the acknowledgement
is sent to him.

View messages:

(LDCE-IT-SE-MANUAL VER:2020) 110


This privilege lets the Cashier to view the messages that are in his inbox.

Logout:

Whenever the Cashier wants to quit the application he needs to use this service so that the session will be
invalidated so that no one can access his account thus restricting others in accessing the Cashier’s
account.

3) Actor: Manager
The Manager module consists of the following services:

(LDCE-IT-SE-MANUAL VER:2020) 111


1) Login
2) Change profile
3) Approve/Reject Account
4) Send Messages
5) View Messages
6) View account type Details

7) View employee Details

8) View branch details

9) View Customer account details

1) Closing an account
2) Logout

 Login:

In this process, Manager enters his username (i.e. his empid), password and submitted details are
verified at the server side. If he is authorized, then only he is presented with his remaining services
otherwise his access is denied.

 Change profile:

In this process, Admin can edit his own profile like his telephone number, Email and address.

Approve/Reject Account:

Manager is the only one who has the authority to either accept or reject the customer’s account based
on the organization’s terms and conditions, since he is a decision maker for whole financial system.

(LDCE-IT-SE-MANUAL VER:2020) 112


(LDCE-IT-SE-MANUAL VER:2020) 113
Send messages:

With this service, Manager is capable to send messages to any other user based on the requirement that is
raised at any time. This service takes to_address, subject and message as the input from the Manager and
after sending the data to the respective recipient successfully, the acknowledgement is sent to him.

(LDCE-IT-SE-MANUAL VER:2020) 114


View messages:

This privilege lets the Manager to view the messages that are in his inbox.

(LDCE-IT-SE-MANUAL VER:2020) 115


View Account Type Details:

Similar to Admin’s service, Manager also has the privilege to view the account type details if required.
The account type details like minimum balance, account name, interest, period of the account type that is
requested are displayed.

 View Employee Details:


The Manager also has the capability to view the employee details just as that of Admin. Using this
process, Manager can view employee details like his personal profile as well as other details related to
organization.

 View Branch Details:


This is a common service of both Admin and Manager, which helps to view the branch details
based on requirement. The branch details like branch id , location, address, phone number, pin
code of the branch name that is requested are displayed.

Closing an account:-

The Manager has also the capabilities to close the account.

(LDCE-IT-SE-MANUAL VER:2020) 116


 Logout:
Whenever the Manager wants to quit the application he needs to use this service so that the
session will be invalidated so that no one can access his account thus restricting others in
accessing the Manager’s account.

4) Actor: Customer

The Customer module consists of the following services:

1) Registration
2) Login
3) View account details
4) Change profile
5) Request to change account type/branch/account options
6) View account statement
7) Transfer amount details
8) Send Messages
9) View Messages
10) Logout

 Registration:

(LDCE-IT-SE-MANUAL VER:2020) 117


With this service a new customer can create an account and register into the system. In this
customer has to enter accounts details like actype, date of open , balance , jointly also his
personal details like accholder , fname , lname , date of birth ,marital status ,nationality,
address , pan no, pin, photo, signature etc. After these details are entered then customer is given
option of choosing the means he can obtain his details and it can be through internet, phone,
smart card, debit card, telebanking etc. After that customer has to enter Account Nomination
details like nominees name, address, relation, age, minor, date of birth. After this is entered
accounts additional information has to be entered like occupation, source of funds, monthly
income, annual turnover , abroad relative name, relationship,other bank name, other account
type. Finally Customer gets registered in the corebanking system and customer’s account
no(accno) is generated and for every further request customer makes he has to use this accno as
his login and enter into the corebanking system. So, in this way a new customer sign’sup into
the system and uses the services provided by the system.

 Login:
In this process, Customer enters his username (i.e. his empid), password and submitted details
are verified at the server side. If he is authorized, then only he is presented with his remaining
services otherwise his access is denied.

 View Balance:
In this service, customer views his account details that he entered and account details like
number, acctype,branch can be viewed by customer.

 Change Profile:
In this, Customer can edit his personal profile like his telephone number, email and address .

 Request to change account type:


In this customer based on his accno makes a request to cashier to change his account type .Cashier will
see for

(LDCE-IT-SE-MANUAL VER:2020) 118


the request and makes changes to customer account details.

 View Account Statement:


Account statement is a statement that shows all the transactions made by the customer in his
account statement. Cashier checks customer account details based on his accno and based on his
credit and debit cashier generates an account statement for that respective customer. So in this,
account statement generated by cashier is viewed by the Customer.

 Transfer Amount Details:


In this when customer sends a request to cashier, then cashier is responsible to
transfer amount from one account to other account or from one branch to other branch.

 Send messages:
With this service, Customer is capable to send messages to any other user based on the
requirement that is raised at any time. This service takes to address , subject and message as the
input from the Manager and after sending the data to the respective recipient successfully, the
acknowledgement is sent to him.

(LDCE-IT-SE-MANUAL VER:2020) 119


 View messages:
This privilege lets the Customer to view the messages that are in his inbox.

Practical 7: Software Project Management: Activity Scheduling

SPMP- Software Project Management Plan /Gantt Chart

AIM: Prepare the Time Line and Activity Scheduling using Turbo Project,
Microsoft Project Tool

(LDCE-IT-SE-MANUAL VER:2020) 120


Prepare Software Project Plan Document/Gantt Chart for the Project

Roles and Responsibilities

Software Engineer: will plan, analyze and design the software project during preparing the
documentations of project.
Programmer: will write the code of the system.
Test Team Member: will test the system to augment the quality.
Training Coordinator: will prepare the stuff-training plan to ensure that necessary skill levels in
sufficient numbers will be available to successfully conduct the software project.
Meeting Tracer: will organize and coordinate the meetings of team members and also meetings with
customers.
DB Administrator: will be responsible from database configuration and management.
Software System Engineer: will help the project team to identify, control, and track requirements and
changes to requirements at any time as the project proceeds and make the architectural design of the
project accordingly.
Project Manager: will plan (schedule, cost and budget), motivate, organize and control the software
team.
User interface designer: will design the web-based user interfaces.
Configuration Manager: will manage different versions of the work products, control the changes that
are imposed and audit and report on the changes that are made. And also will update the project’s web
page regularly.
Name E-mail Roles and Responsibilities
Project Manager, Software Engineer,
Configuration Manager, Programmer, DB
Administrator, Meeting Tracer, Test Team
Member, Training Coordinator.
Software Engineer, Programmer, DB
Administrator, Test Team Member, User
Interface Designer.
Software Engineer, Programmer, Test
Team Member, Configuration Manager,
Training Coordinator.
Software System Engineer, Software
Engineer, Programmer,
DB Administrator, Test
Team Member, Programmer, Configuration
Manager

Work Plan

Work Activities
Work activities of project are given in table 10. The milestone tasks are identified at the third column by
*Milestone mark.

WBS No: Task Name: Milestone


1. Project

(LDCE-IT-SE-MANUAL VER:2020) 121


1.1 Problem Analysis
1.1.1 Meeting with the Customer
1.1.2 Determining the Problems
1.2 Initial Plan
1.2.1 Studying about IEEE std 1058
1.2.2 Determining Cases for Initial Plan
1.2.3 Documenting Initial Plan
1.2.4 Discussion about issues of Initial Plan
1.2.5 Delivery of the first version of Initial Plan *Milestone
1.2.6 Feedback of Initial Plan
1.2.7 Delivery of updated Initial Plan *Milestone
1.3 Software Requirement Specification
1.3.1 Studying about IEEE std 830
1.3.2 Determining actors and use cases
1.3.3 Detailing use cases
1.3.4 Documenting SRS
1.3.5 Discussion about issues of SRS
1.3.6 Delivery of the first version of SRS *Milestone
1.3.7 Feedback of SRS
1.3.8 Delivery of updated SRS *Milestone
1.4 Software Project Management Plan
1.4.1 Studying about IEEE std 1058
1.4.2 Determining Cases for SPMP
1.4.3 Documenting SPMP
1.4.4 Discussion about issues of SPMP
1.4.5 Delivery of the first version of SPMP *Milestone
1.4.6 Feedback of SPMP
1.4.7 Delivery of updated SPMP *Milestone
1.5 Software Design Description
1.5.1 Studying about IEEE std 1016
1.5.2 Determining Design Entities
1.5.3 Determining Design Entity Attributes
1.5.4 Drawing Design Views
1.5.5 Documenting SDD
1.5.6 Discussion about issues of SDD
1.5.7 Delivery of the first version of SDD *Milestone
1.5.8 Feedback of SDD
1.5.9 Delivery of updated SDD *Milestone
1.6 Coding
1.6.1 Determining the Coding Standard
1.6.2 Coding of General Interfaces
1.6.3 Coding of Infrastructure of Project
1.6.4 Code Review of General Interfaces
1.6.5 Testing of Code side of Product
1.6.6 Meeting with Customer about the Product
1.6.7 Update and Delivery of Product *Milestone
1.7 User Manual
1.7.1 Determining Cases for UM
1.7.2 Documenting UM
1.7.3 Discussion about issues of UM
1.7.4 Delivery of the first version of UM *Milestone

(LDCE-IT-SE-MANUAL VER:2020) 122


Work packages for each activity are given below:

Activity Number 1.1.1


Activity Code M-Cstm.
Activity Name Meeting with the Customer
Estimated Duration/Effort 0.12 day/ 1.30 man-hour
Resources Needed Personnel: Team Members
Skill: Communication
Tool: Notebook
Travel: N/A
Outputs Borders of the Project
Baselines No
Predecessors
Successors 1.1.2
Completion Criteria Confirmation of the Customer
Implementation
Personnel Assigned Team Members
Starting Date 08 October 06
Completion Date 08 October 06
Cost (Budgeted and Actual) NA
Legacy Comments None

Resource Allocation
Group members have the general information about design techniques of .Net language. PCs will
be used for documentations of the reports that are IP, SRS, SPMP and SDD and coding. Table below
shows software tools to be used by project phase.

WBS WBS Item SOFTWARE RESOURCES


No
1.2 Initial Plan MS Word, MS Project, MS Visio, Photoshop
1.3 Software Requirement Specification MS Word, MS Visio
1.4 Software Project Management Plan MS Word, MS Project, MS Visio
1.5 Software Design Description MS Word, MS Visio, Photoshop
1.6 Coding MS Word, Visual Studio 2005 Professional Edition,
ASP .NET
1.7 User Manual MS Word

Risk Management

Risks Category Probability Impact


(%)
Uncertainty in the format of PS file Process definition 90 Moderate
Development tool unfamiliar Staff experience 70 High
Not enough time for SW integration Business impact 87 Moderate
Staff inexperienced Staff 72 High
Absentees of personnel could result Staff 75 High
in loss of effort
Design and coding deficiencies. Process definitions 70 High

(LDCE-IT-SE-MANUAL VER:2020) 123


Expected technical changes Development environment 40 Moderate
Documentation Process definition 30 Moderate
May have to train the trainer Staff 55 Low
Incorrect and missing Work package Process definition 45 High
definition
Optimistic schedule for HW/SW Business impact 25 Low
integration
Less reuse than planned Product size 25 Moderate
Customer may change requirement Product size 20 Critical
Misunderstood and/or undetermined Product size 20 Critical
requirements
Process demands not adequately Product size 15 High
planned in estimates
Inappropriate metrics Product size 18 Moderate

Risk Mitigation

(LDCE-IT-SE-MANUAL VER:2020) 124


PRIORITY Risk Scenarios Risk Alternatives / Resolutions Monitoring
Environment: not suitable Alternatives: Choose a work During the group
for team communication. environment that allows team meetings.
1 communication.
Resolution: Optimizing the
environment situation.

Group deficiency: One of Resolution: Other group members Dead line is very close.
1 the members is sick. are over work.
Communication skill is not Alternatives: Group will make a Middle of the coding
4 enough: In the code phase, meeting with customers. phase.
the new requirements will
be come.

The development tool is Alternatives: If project member is During the


hard to use. not enough knowledge about implementation phase.
development tool, they will take a
related info from project training
2 coordinator.
Resolution: Before implementation
team will make mini projects with
development tool.

Project Development and Document/Milestone Schedule

WP Who Will Prepare Start Due Days Dependency on Milestone Document


NO Date Date Task Name
W1 Initial Plan
W2 W1 Software
Requirement
Specification
Software Project
Management Plan
Software Design
Description
Coding
User Manual
Final Product

Project Schedule

(LDCE-IT-SE-MANUAL VER:2020) 125


(LDCE-IT-SE-MANUAL VER:2020) 126
1. INTRODUCTION

A typical project involves a number of activities, and each activity requires human resources
support. These activities and resources must be properly planned and scheduled in order to
achieve optimum project time and cost. This paper proposes a process planning and scheduling
system which is based on the concept of process planning typically used for the planning of
project activities. An Advanced Planning System offers support at all planning levels along the
supply chain while observing limited resources. As one of the most challenging problems in
project management, scheduling has been receiving considerable attention not only from
researchers but also from practitioners. In the past few decades, the field of project management
theory and practice has made tremendous strides forward (Rory Burke2003) However, as
projects grow in complexity, finding realizable schedules that efficiently exploit scarce resources
continues to be a challenging task within project management.

Modern era demands an efficient scheduling to enhance the profitability of any enterprise. The
resource-constrained project scheduling problem is a general scheduling problem which involves
the scheduling of project activities subjected to some temporal constraints and resource
constraints, so as to minimize the total project duration. Temporal constraints usually consist of
precedence constraints, which imply that certain jobs must be completed before others can be
started. A resource constraint specifies that every job requires different capacity of limited
renewable resource types while being processed.

The activities are usually ranked by using the priority rule, which determines the order that the
activities are added to the schedule. There exists no constructive heuristic that outperforms all
other constructive heuristics given a variety of different performance criteria. In addition to
priority rules, another major component of constructive heuristics is the schedule generation
scheme (SGS), which determines the way in which a feasible schedule is constructed by
assigning starting times to the different activities. The serial SGS and parallel SGS constitute the
two basic schedule generation schemes. When constructing a feasible schedule, we start with the
dummy start activity and gradually schedule all activities until the dummy end activity has been
assigned a starting time. This can easily be obtained by reversing all precedence relations and
using the reverse priority list on the resulting network. The resulting starting times can then

(LDCE-IT-SE-MANUAL VER:2020) 127


easily be adjusted so that the starting time of the dummy start activity equals 0. Finally, the
application of all possible left shifts will result in an active schedule for the original problem
instance. To that purpose, both forward and backward priority lists should be used in the
bidirectional planning. During the each iteration of the bidirectional parallel scheduling scheme,
the decision point of each direction with the smallest difference is considered (Rory Burke2003).
In the case of a tie, both decision points are considered. At each decision point, the activities are
scheduled in the order of forward or backward priority list. This is continued until no more
activities can be scheduled to start or finish at these decision points. Then the decision point is
updated and a new iteration takes place until all activities have been scheduled. Finally, the
bidirectional schedule can be translated into an active schedule by shifting the backward
scheduled activities to the left in the order of their start times.

2. PROJECT PLANNING

A major responsibility for the project manager is the initial planning of the project. The early
stages of the project must be spent carefully establishing a baseline plan that provides a clear
definition of how the project the project scope will be accomplished on time, to budget and using
available resources.

1. Project initiation

At the beginning of a project, a Project Initiation Document (PID) should be produced.


The PID contains:

 What is state of recent project?

 Future project objectives

 The come up to be taken to the project

 Any areas excluded from the project

 Any constraints such as budget or available resources

(LDCE-IT-SE-MANUAL VER:2020) 128


 Any interfaces between this project and others organisations or part of the
organisation

 Any statement on which the PID is based

 The communication plan (reports, meetings, etc...)

2. Time

The schedule is the timetable for activities involved in achieving the project objective.
The project will have a finite date for completion, either set by the banking consortium.
The timetable must include these.

The time plan lists all the activities, which will do that what and how long each is
planned to take. This includes the milestone finish dates of each stage of the project life-
cycle, and the estimated completion date of the whole project.

3. ROLES AND RESPONSIBILITIES OF PROJECT MANAGER IN PLANNING


A project manager is the person who has the overall responsibility for the successful planning
and execution of a project. The project manager must possess a combination of skills including
an ability to ask penetrating questions, detect unstated assumptions and resolve interpersonal
conflicts as well as more systematic management skills.

Project managers use project management software, such as Microsoft Project, to organise their
task and workforce. These software packages allow project managers to produce reports and
charts in a few minutes, compared to the several hours it can take if they do not use a software
package.

The role of the project manager encompasses many activities including


 Planning and defining scope
 Activity planning and sequencing
 Resource planning
 Developing schedules

(LDCE-IT-SE-MANUAL VER:2020) 129


 Time estimating
 Cost estimating
 Developing a budget
 Controlling quality
 Managing risks and issues
 Creating schedules and charts
 Risk analysis
 Benefits realisation
 Scalability, interoperability and portability analysis
 Documentation
 Team leadership
 Strategic influencing
4. PROJECT SCHEDULING
These are the important steps should be considered in scheduling procedures.
 Establishing objectives
 Determining available resources
 Sequencing activities
 Identifying precedence relationships
 Determining activity time and cost
 Estimating material and worker requirement
 Determining critical activities

5. PROJECT MANAGEMENT TOOLS

Gantt Chart

A Gantt chart is a popular bar chart that aims to show the timing of tasks or activities as they
occur across time. Although the Gantt chart did not initially indicate the relationships between
activities, this has become more common in current use as both timing and interdependencies
between tasks can be identified.

(LDCE-IT-SE-MANUAL VER:2020) 130


Links Code Description Gantt Chart View

Predecessor finishes and the other starts


Finish-Start FS

Task begins at the same time as its predecessor

Start-Finish S-F

Finish-Finish F-F
Both tasks finish at the same time

Start of the predecessor determines when the other starts


Start-Start S-S

Logic Network

A Logic Network shows the sequence of activities in a project across time. It shows which
activity logically precedes or follows another activity. It can be used to identify the milestones
and critical path of a project.

PERT Chart

PERT is basically a method for analyzing the tasks involved in completing a given project,
especially the time needed to complete each task and identifying the minimum time needed to
complete the total project.

Product Breakdown Structure (PBS)

(LDCE-IT-SE-MANUAL VER:2020) 131


In project management, a Product Breakdown Structure (PBS) is an exhaustive, hierarchical tree
structure of components that make up a project deliverable, arranged in whole-part relationship.
A PBS can help clarify what is to be delivered by the project and can help build a work
breakdown structure.

The PRINCE2 project management method mandates the use of product based planning, part of
which is developing a product breakdown structure.

Work Breakdown Structure (WBS)

A Work Breakdown Structure (WBS) is an exhaustive, hierarchical tree structure of deliverables


and tasks that need to be performed to complete a project. Work breakdown structure is a very
common project management tool and the basis for much project planning.

Critical Path Analysis

Critical Path Analysis (CPA) is a project management tool that:

 Sets out all the individual activities that make up a larger project.
 Shows the order in which activities have to be undertaken.
 Shows which activities can only taken place once other activities have been completed.
 Shows which activities can be undertaken simultaneously, thereby reducing the overall
time taken to complete the whole project.
 Shows when certain resources will be needed – for example, a crane to be hired for a
building site.

In order to construct a CPA, it is necessary to estimate the elapsed time for each activity – that is
the time taken from commencement to completion.

Then the CPA is drawn up a based on dependencies such as: (Kelley JE 1963)

 The availability of labour and other resources


 Lead times for delivery of materials and other services
 Seasonal factors – such as dry weather required in a building project

(LDCE-IT-SE-MANUAL VER:2020) 132


Once the CPA is drawn up, it is possible to see the CRITICAL PATH itself – this is a route
through the CPA, which has no spare time (called ‘FLOAT’ or ‘slack’) in any of the activities.
In other words, if there is any delay to any of the activities on the critical path, the whole project
will be delayed unless the firm makes other changes to bring the project back on track. The total
time along this critical path is also the minimum time in which the whole project can be
completed. Some branches on the CPA may have FLOAT, which means that there is some spare
time available for these activities.

The key rules of a CPA

 Nodes are numbered to identify each one and show the Earliest Start Time (EST) of the
activities that immediately follow the node, and the Latest Finish Time (LFT) of the
immediately preceding activities
 The CPA must begin and end on one ‘node’
 There must be no crossing activities in the CPA
 East activity is labelled with its name or it may be given a label, such as ‘D’.
 The activities on the critical path are usually marked with a ‘//’ or dark line

(Kelley JE ,1963)

The first stage in constructing a network for a project is to consult with the technical experts and
summarise the information that they provide in a table, as in the following simple example.

Activity Predecessors Duration


A None 4 months
B None 3 months
C A 2 months
D A, B 4 months

The predecessors impose constraints on the project: C cannot begin until A has been completed,
whereas D cannot begin until both A and B has been completed.

Practical 8: Software Project Cost Estimation

(LDCE-IT-SE-MANUAL VER:2020) 133


AIM: Calculate the Various Costs using CoCoMo, Function Point ,Algorithmic
Cost Modeling Methods

Estimation Plan

The cost and schedule for conducting the project (PS) as well as the methods, tools, techniques,
used to estimate project cost, schedule, resource requirements, external input and output data associated
confidence levels are presented below.

Function Point method is used for size estimation of the project. The functions of the project are
identified according to the user requirements defined during the initial meetings. These functions are:

External inputs:
 New Patient Information Add
 New Patient Information Delete
 New Patient Information Update
 Patient Disease Identification and Therapy Information Add
 Patient Disease Identification and Therapy Information Delete
 Patient Disease Identification and Therapy Information Update
 Drug Information Add
 Drug Information Delete
 Drug Information Update
 Drug Stock Input-Output Information Add
 Drug Stock Input-Output Information Delete
 Drug Stock Input-Output Information Update
 Disease Information ICP-10 Add
 Disease Information ICP-10 Delete
 Disease Information ICP-10 Update

External Output:
 Patient Registration
 Drug Registration
 Stock Registration
 Warning Message

External Enquiry:
 Access to Patient Records
 Access drugs which are given to patient before
 Access to Drugs Records
 Access to stock records
 Access number of decreasing drugs records
 Access to drug names and codes records

External Interface Files:


 Wireless network interface

Internal Logical File:

(LDCE-IT-SE-MANUAL VER:2020) 134


 Doctor Table
 Patient Table
 Drug Table
 Disease Names Table
 Disease Groups Table

Function Levels
Components Count Low Average High Total
External Inputs 16 9x3 6x4 1x6 54
External Outputs 4 2x4 2x5 0x7 18
External Inquiries 6 4x3 2x4 1x6 26
Internal Logical Files 5 5x 7 0 x 10 0 x 15 35
External Interface Files 1 0x5 0x7 1 x 10 10
Total Unadjusted FP (UFP): 143
Table 1 Unadjusted Function Point Table

In Table 1, the Degree of Influences (DI) is shown:


Characteristic Degree of Description
Influence (DI)
1. Data Communication 2 Output Data Entry is required
2. Distributed data processing 4 Online and in both directions
3. Performance 3 Response time is critical
4. Heavily used configuration 2 Security and timing issues
5. Transaction rate 4 Service level agreements are high level
6. Online data entry 5 More than %90 is online data entry
7. End user efficiency 3 Six of more of the elements
8. Online update 5 Data lost is essential
9. Complex processing 3 Three of the elements
10. Reusability 4 Modulated coding
11. Installation ease 1 Only server-side installation
12. Operational ease 1 Minimizes the need of paper handling
13. Multiple sites 1 Identical hardware and software
14. Facilitate change 3 Three of the elements
Total Degree of Influence (TDI): 41
Table 2 Degree of Influences

The scale of criteria weights for the table 1 (TDI):


0 1 2 3 4 5
No influence Incidental Moderate Average Significant Essential
The table shown above lists the replies of the system to the specific questions depending on the
IFPUG documents.

Three Formulas for Size Estimation of the FIS;


 Total Degree of Influence (TDI) = Sum of the Influence Factors
 Value Adjustment Factor (VAF) =0.65 + (0.01 * TDI)
 Function Points (FP) = VAF * unadjusted FP

Value Adjustment Factor (VAF) = (TDI x 0.01) + 0.65 = (41 x 0.01) + 0.65 = 1.06

(LDCE-IT-SE-MANUAL VER:2020) 135


Adjusted Function Point Count (FP) = UFP x VAF = 1.06 x 143 = 151.58

The number of lines of code is then defined by:


Line of Code = (SLOC per FP for Java) x FP = 30 x 151.58 = 4547.4

Effort Estimation
An LOC-oriented estimation model is used for effort estimation. The number of lines of code is then
defined by:
LOC = FPx Language Factor (Language Factor vary by Language of Programming)
KLOC = 4.547 (4547.4 LOC)
Then the effort is:
Effort (Coding) = a x Size b
Development Time (T) =c*(Effort)^d
a and b are constants that depend on the project, and size is measured in thousands of lines of
code (KLOC).
Software
Project a b c D
1.0
Organic 3.2 5 2.5 0.38
1.1
Semi-detached 3 2 2.5 0.35
1.2
Embedded 2.8 0 2.5 0.32

Because of the decision, that the software project has an “organic” structure.

a = 3.2 is determined for Organic Project


b = 1.05 is determined for Organic Project
c = 2.5 is determined for Organic Project
d = 0.38 is determined for Organic Project
E = 3.2 x 4.547 1.05= 3.2 x 4.90 = 15.68 (man month)
COCOMO model is used to calculate the schedule estimation for the PS. COCOMO model calculates
effort in man months.

COCOMODevelopment Time (T) =c*(Effort Applied)^d = 2.5 * ( 15.68) ^ 0.38 ≈  7.11 Months

“c ” and 'd' depends on the modes of the difficulty so that d is decided as 0.38 as it is for the other organic
software projects. COCOMO model calculates effort in staff months (19 days per month or 152 working
hours per month).

Therefore such a software project needs:


Staff = Effort / Duration = 15.68 / 7.1 = 2.20 persons
Cost Estimation

(LDCE-IT-SE-MANUAL VER:2020) 136


The salary of each group member is 40000Rs./p.m @152 Hr p.m, therefore the estimated cost of
the Project is:

15.68 man month = 15.68 x 152 (hours in a month) = 2383.36 man hours
Cost = Effort x $ (the hourly salary)
C = 2383.36 man-hours x (40000/152)man-hours=6,27,200Rs.

What is Cost and Project Cost Management?

 Cost is a resource sacrificed or foregone to achieve a specific objective or something


given up in exchange
 Costs are usually measured in monetary units like dollars
 Project cost management includes the processes required to ensure that the project is
completed within an approved budget

Project Cost Management Processes

 Resource planning: determining what resources and quantities of them should be used
 Cost estimating: developing an estimate of the costs and resources needed to complete a
project
 Cost budgeting: allocating the overall cost estimate to individual work items to establish
a baseline for measuring performance
 Cost control: controlling changes to the project budget

Basic Principles of Cost Management

 Profits are revenues minus expenses


 Life cycle costing is estimating the cost of a project plus the maintenance costs of
the products it produces
 Cash flow analysis is determining the estimated annual costs and benefits for a
project
 Benefits and costs can be tangible or intangible, direct or indirect
 Sunk cost should not be a criteria in project selection

Basic Principles of Cost Management

 Tangible costs or benefits are those costs or benefits that an organization can easily
measure in dollars.

(LDCE-IT-SE-MANUAL VER:2020) 137


 Intangible costs or benefits are costs or benefits that are difficult to measure in monetary
terms.

 Direct costs are costs that can be directly related to producing the products and services
of the project.

 Indirect costs are costs that are not directly related to the products or services of the
project, but are indirectly related to performing the project.

 Sunk cost is money that has been spent in the past; when deciding what projects to invest
in or continue, you should not include sunk costs.

 Learning curve theory states that when many items are produced repetitively, the unit
cost of those items decreases in a regular pattern as more units are produced.

 Reserves are dollars included in a cost estimate to mitigate cost risk by allowing for
future situations that are difficult to predict.

 Contingency reserves allow for future situations that may be partially planned
for (sometimes called known unknowns) and are included in the project cost
baseline.

 Management reserves allow for future situations that are unpredictable


(sometimes called unknown unknowns).

Resource Planning
 The nature of the project and the organization will affect resource planning

 Some questions to consider:

 How difficult will it be to do specific tasks on the project?

 Is there anything unique in this project’s scope statement that will affect
resources?

 What is the organization’s history in doing similar tasks?

 Does the organization have or can they acquire the people, equipment, and
materials that are capable and available for performing the work?

Cost Estimating
 An important output of project cost management is a cost estimate

 There are several types of cost estimates and tools and techniques to help create them

(LDCE-IT-SE-MANUAL VER:2020) 138


 It is also important to develop a cost management plan that describes how cost variances
will be managed on the project

Types of Cost Estimates


Type of Estimate When Done Why Done How Accurate
Rough Order of Very early in the Provides rough –25%, +75%
Magnitude (ROM) project life cycle, ballpark of cost for
often 3–5 years selection decisions
before project
completion
Budgetary Early, 1–2 years out Puts dollars in the –10%, +25%
budget plans
Definitive Later in the project, < Provides details for –5%, +10%
1 year out purchases, estimate
actual costs

Cost Estimation Tools and Techniques

 3 basic tools and techniques for cost estimates:

 analogous or top-down: use the actual cost of a previous, similar


project as the basis for the new estimate

 bottom-up: estimate individual work items and sum them to get a total
estimate

 parametric: use project characteristics in a mathematical model to


estimate costs

Cost Management Plan

 A cost management plan is a document that describes how the organization


will manage cost variances on the project.

 A large percentage of total project costs are often labor costs, so project
managers must develop and track estimates for labor.

(LDCE-IT-SE-MANUAL VER:2020) 139


Maximum Departmental Headcounts by Year

Constructive Cost Model (COCOMO)


 Barry Boehm helped develop the COCOMO models for estimating software development
costs

 Parameters include source lines of code or function points

 Function points: Technology-independent assessments of the functions involved


in developing a system.

 Source Lines of Code (SLOC): A human-written line of code that is not a blank
line or comment.

 COCOMO II is a computerized model available on the Web

 Boehm suggests that only parametric models do not suffer from the limits of human
decision-making

 Ex. http://www.jsc.nasa.gov/bu2/COCOMO.html

Typical Problems with IT Cost Estimates


 Developing an estimate for a large software project is a complex task requiring a
significant amount of effort. Remember that estimates are done at various stages of the
project

 Many people doing estimates have little experience doing them. Try to provide training
and mentoring

 People have a bias toward underestimation. Review estimates and ask important
questions to make sure estimates are not biased

(LDCE-IT-SE-MANUAL VER:2020) 140


 Management wants a number for a bid, not a real estimate. Project managers must
negotiate with project sponsors to create realistic cost estimates

(LDCE-IT-SE-MANUAL VER:2020) 141


Cost Budgeting
 Cost budgeting involves allocating the project cost estimate to individual work items and
providing a cost baseline

 For example, in the Business Systems Replacement project, there was a total purchased
cost estimate for FY97 of $600,000 and another $1.2 million for Information Services
and Technology

 These amounts were allocated to appropriate budgets as shown in the next slide

(LDCE-IT-SE-MANUAL VER:2020) 142


Cost Control
 Project cost control includes

 monitoring cost performance

 ensuring that only appropriate project changes are included in a revised cost
baseline

 informing project stakeholders of authorized changes to the project that will affect
costs

 Earned value management is an important tool for cost control

(LDCE-IT-SE-MANUAL VER:2020) 143


Earned Value Calculations

Earned Value Formulas

(LDCE-IT-SE-MANUAL VER:2020) 144


Earned Value Calculations for a One-Year Project After Five Months

Earned Value Chart

(LDCE-IT-SE-MANUAL VER:2020) 145


Practical 9: Software Testing: Project Test Plan Document

AIM: Design Test Cases and Scenarios for Testing Software as a parts and as a
whole Prepare Software Project Test Plan Document for the Project

1. Test Cases need to be simple and transparent:


Create test cases that are as simple as possible. They must be clear and concise as the author of the test
case may not execute them. Use assertive language like go to the home page, enter data, click on this and
so on. This makes the understanding the test steps easy and tests execution faster.
2. Create Test Case with End User in Mind
The ultimate goal of any software project is to create test cases that meet customer requirements and is
easy to use and operate. A tester must create test cases keeping in mind the end user perspective
3. Avoid test case repetition.
Do not repeat test cases. If a test case is needed for executing some other test case, call the test case by its
test case id in the pre-condition column
4. Do not Assume
Do not assume functionality and features of your software application while preparing test case. Stick to
the Specification Documents.
5. Ensure 100% Coverage
Make sure you write test cases to check all software requirements mentioned in the specification
document. Use Traceability Matrix to ensure no functions/conditions is left untested.
6. Test Cases must be identifiable.
Name the test case id such that they are identified easily while tracking defects or identifying a software
requirement at a later stage.
7. Implement Testing Techniques
It's not possible to check every possible condition in your software application. Software Testing
techniques help you select a few test cases with the maximum possibility of finding a defect.
 Boundary Value Analysis (BVA): As the name suggests it's the technique that defines the
testing of boundaries for a specified range of values.
 Equivalence Partition (EP): This technique partitions the range into equal parts/groups that tend
to have the same behavior.
 State Transition Technique: This method is used when software behavior changes from one
state to another following particular action.
 Error Guessing Technique: This is guessing/anticipating the error that may arise while doing
manual testing. This is not a formal method and takes advantages of a tester's experience with the
application
8. Self-cleaning
The test case you create must return the Test Environment to the pre-test state and should not render the
test environment unusable. This is especially true for configuration testing.
9. Repeatable and self-standing
The test case should generate the same results every time no matter who tests it
10. Peer Review.
After creating test cases, get them reviewed by your colleagues. Your peers can uncover defects in your
test case design, which you may easily miss.
Popular Test Management tools are: Quality Center and JIRA

(LDCE-IT-SE-MANUAL VER:2020) 146


(Minimum 15 Critical Test Cases )

TestCaseID Test Scenario: Check Customer Login with valid Data Pass/Fai
l
T1 Test Steps: Pass
1. Go to site Enter UserId
2. Enter Password
3. Click Submit
Test Data: User-id = abc99 Password = pass123
Expected Results: User should Login into an application
Actual Results: As Expected
T2 Test Scenario
Test Steps:
Test Data:
Expected Results:
Actual Results:

What is Domain in Testing?

Domain is nothing but the industry for which the software testing project is created. When we
talk about software project or development, this term is often referred. For example, Insurance
domain, Banking domain, Retail Domain, Telecom Domain, etc

Usually, while developing any specific domain project, domain expert help is sought
out. Domain expert are master of the subject, and he may know the inside-out of the
product or application.

Why Domain Knowledge Matters?

Domain knowledge is quintessential for testing any software product, and it has its own benefits
like

(LDCE-IT-SE-MANUAL VER:2020) 147


Banking Domain Knowledge - Introduction

Banking domain concepts are huge, and basically it is sub-characterized into two sectors

Traditional banking sector

1. Core banking
2. Corporate banking

Below is the table of the services these two sub-sectors of banking encompass

Traditional banking sector  Core banking


 Corporate banking
 Retail banking

Service based banking sector  Core


 Corporate
 Retail
 Loan
 Trade finance
 Private banking
 Consumer finance
 Islamic banking

(LDCE-IT-SE-MANUAL VER:2020) 148


 Customer delivery channels/Front end delivery

Characteristics of a Banking Application

Before you begin testing, it's important to note the standard features expected of any banking
application. So that, you can gear your test efforts to achieve these characteristics.

A standard banking application should meet all these characteristics as mentioned below.

 It should support thousands of concurrent user sessions


 A banking application should integrate with other numerous applications like trading
accounts, Bill pay utility, credit cards, etc.
 It should process fast and secure transactions
 It should include massive storage system.
 To troubleshoot customer issues, it should have high auditing capability
 It should handle complex business workflows
 Need to support users on multiple platforms (Mac, Linux, Unix, Windows)
 It should support users from multiple locations
 It should support multi-lingual users
 It should support users on various payment systems (VISA, AMEX, MasterCard)
 It should support multiple service sectors (Loans, Retail banking etc.)
 Fool proof disaster management mechanism

Test Phases in Testing Banking Applications

For testing banking applications, different stages of testing include

 Requirement Analysis: It is done by business analyst; requirements for a particular


banking application are gathered and documented
 Requirement Review: Quality analysts, business analysts, and development leads are
involved in this task. The requirement gathering document is reviewed at this stage, and
cross-checked to ensure that it does not affect the workflow
 Business Requirements Documentation: Business requirements documents are
prepared by quality analysts in which all reviewed business requirements are covered
 Database Testing: It is the most important part of bank application testing. This testing
is done to ensure data integrity, data loading, data migration, stored procedures, and
functions validation, rules testing, etc.
 Integration Testing: Under Integration Testing all components that are developed are
integrated and validated

(LDCE-IT-SE-MANUAL VER:2020) 149


 Functional Testing: The usual software testing activities like Test Case preparation, test
case review and test case execution is done during this phase
 Security Testing: It ensures that the software does not have any security flaws. During
test preparation, QA team needs to include both negative as well as positive test scenarios
so as to break into the system and report it before any unauthorized individual access it.
While to prevent from hacking, the bank should also implement a multi-layer of access
validation like a one-time password. For Security Testing, automation tools like IBM
App Scan and HP Web Inspect are used while for Manual Testing tools like Proxy
Sniffer, Paros proxy, HTTP watch, etc. are used
 Usability Testing: It ensures that differently able people should be able to use the system
as normal user. For example, ATM with hearing and Braille facility for disabled
 User Acceptance Testing: It is the final stage of testing done by the end users to ensure
the compliance of the application with the real world scenario.

Sample Test Case for Net Banking Login Application

 Security is prime for any banking application. Therefore, during test preparation, QA
team should include both negative and positive test scenarios in order to sneak into the
system and report for any vulnerabilities before any unauthorized individual get access to
it. It not only involves writing negative test cases but may also include destructive testing.
 Following are generic test cases to check any banking application

Sample test cases

For Admin  Verify Admin login with valid and Invalid data
 Verify admin login without data
 Verify all admin home links
 Verify admin change password with valid and invalid data
 Verify admin change password without data
 Verify admin change password with existing data
 Verify admin logout

For new Branch  Create a new branch with valid and invalid data
 Create a new branch without data
 Create a new branch with existing branch data
 Verify reset and cancel option
 Update branch with valid and invalid data

(LDCE-IT-SE-MANUAL VER:2020) 150


 Update branch without data
 Update branch with existing branch data
 Verify cancel option
 Verify branch deletion with and without dependencies
 Verify branch search option

For New Role  Create a new role with valid and invalid data
 Create a new role without data
 Verify new role with existing data
 verify role description and role types
 Verify cancel and reset option
 Verify role deletion with and without dependency
 verify links in role details page

For customer & Visitors  Verify all visitor or customer links


 Verify customers login with valid and invalid data
 Verify customers login without data
 Verify banker's login without data
 Verify banker's login with valid or invalid data

For New users  Create a new user with valid and invalid data
 Create a new user without data
 Create a new user with existing branch data
 Verify cancel and reset option
 Update user with valid and invalid data
 Update user with existing data
 Verify cancel option
 Verify deletion of the user

Challenges in testing Banking domain & their Mitigation

Challenges tester might face during testing banking domain are

(LDCE-IT-SE-MANUAL VER:2020) 151


Challenge Mitigation

 Getting access to production data and  Ensure that test data meets regulatory
replicating it as test data, for testing is compliances requirements and
challenging guidelines
 Maintain the data confidentiality by
following techniques like data
masking, synthetic test data, testing
system integration, etc.

 The biggest challenge in testing  Ensure Data Migration Testing is


banking system is during the complete
migration of the system from the old  Ensure Regression Test cases are
system to the new system like testing executed on old and new systems, and
of all the routines, procedures and the results match.
plans. Also how the data will be
fetched, uploaded and transferred to
the new system after migration

 There may be the cases where  The test should participate in the
requirements are not documented well project right from Requirement
and may lead to functional gaps in test Analysis phases and should actively
plan review the Business Requirements
 Many non-functional requirements are
not fully documented, and testers do
not know whether to test it or not

 The most important point is to check  Compliance or Regulatory Policies


whether the said system follows the testing must be done
desired policies and procedures

 The scope and the timelines increases  Ensure Time budget for Integration
as banking application are integrated Testing is accounted if your banking
with other application like internet application has many external
or Mobile banking interfaces

Summary
(LDCE-IT-SE-MANUAL VER:2020) 152
Banking domain is the most vulnerable area for cyber-theft, and safeguarding the software
requires precise testing. This tutorial gives a clear idea of what it takes for banking domain
testing and how important it is. One must understand that -

 Majority of banking software are developed on Mainframe and Unix


 Testing helps to lessen possible glitches encounter during software development
 Proper testing and compliance to industry standards, save companies from penalties
 Good practices help develop good results, reputation and more business for companies
 Both manual and automated testing have respective merits and usability

(LDCE-IT-SE-MANUAL VER:2020) 153


Practical 10: Case study on CASE Tools for Software Processes

AIM: Case study on CASE Tools for Software Processes

Project group has to prepare case study of one of the CASE Tool
Central Repository - CASE tools require a central repository, which can serve as a source of common,
integrated and consistent information. Central repository is a central place of storage where product
specifications, requirement documents, related reports and diagrams, other useful information regarding
management is stored. Central repository also serves as data dictionary.
Upper Case Tools - Upper CASE tools are used in
Planning, Analysis and Design stages of SDLC.
Lower Case Tools - Lower CASE tools are used in
Implementation, Testing and Maintenance.
Integrated Case Tools - Integrated CASE tools are helpful in all
the stages of SDLC, from Requirement Gathering to Testing and
Documentation.
CASE tools can be grouped together if they have similar
functionality, process activities and capability of getting
integrated with other tools.
Scope of Case Tools: The scope of CASE tools goes throughout
the SDLC.
Case Tools Types
A. Diagram tools
These tools are used to represent system components, data and control flow among various software
components and system structure in a graphical form. For example, Flow Chart Maker tool for creating
state-of-the-art flowcharts.

B. Process Modeling Tools


Process modeling is method to create software process model, which is used to develop the software.
Process modeling tools help the managers to choose a process model or modify it as per the requirement
of software product. For example, EPF Composer

C. Project Management Tools


These tools are used for project planning, cost and effort estimation, project scheduling and resource
planning. Managers have to strictly comply project execution with every mentioned step in software
project management. Project management tools help in storing and sharing project information in real-
time throughout the organization. For example, Creative Pro Office, Trac Project, Basecamp.

D. Documentation Tools
Documentation in a software project starts prior to the software process, goes throughout all phases of
SDLC and after the completion of the project. Documentation tools generate documents for technical
users and end users. Technical users are mostly in-house professionals of the development team who
refer to system manual, reference manual, training manual, installation manuals etc. The end user
documents describe the functioning and how-to of the system such as user manual. For example,
Doxygen, DrExplain, Adobe RoboHelp for documentation.

(LDCE-IT-SE-MANUAL VER:2020) 154


E. Analysis Tools
These tools help to gather requirements, automatically check for any inconsistency, inaccuracy in the
diagrams, data redundancies or erroneous omissions. For example, Accept 360, Accompa,
CaseComplete for requirement analysis, Visible Analyst for total analysis.

F. Design Tools
These tools help software designers to design the block structure of the software, which may further be
broken down in smaller modules using refinement techniques. These tools provides detailing of each
module and interconnections among modules. For example, Animated Software Design

G. Configuration Management Tools


An instance of software is released under one version. Configuration Management tools deal with –
Version and revision management, Baseline configuration management,Change control
management. CASE tools help in this by automatic tracking, version management and release
management. For example, Fossil, Git, Accu REV.

H. Change Control Tools


These tools are considered as a part of configuration management tools. They deal with changes made to
the software after its baseline is fixed or when the software is first released. CASE tools automate
change tracking, file management, code management and more. It also helps in enforcing change policy
of the organization.
I. Programming Tools
These tools consist of programming environments like IDE (Integrated Development Environment), in-
built modules library and simulation tools. These tools provide comprehensive aid in building software
product and include features for simulation and testing. For example, Cscope to search code in C,
Eclipse.

J. Prototyping Tools
Software prototype is simulated version of the intended software product. Prototype provides initial look
and feel of the product and simulates few aspect of actual product.Prototyping CASE tools essentially
come with graphical libraries. They can create hardware independent user interfaces and design. These
tools help us to build rapid prototypes based on existing information. In addition, they provide
simulation of software prototype. For example, Serena prototype composer, Mockup Builder.

K. Web Development Tools


These tools assist in designing web pages with all allied elements like forms, text, script, graphic and so
on. Web tools also provide live preview of what is being developed and how will it look after
completion. For example, Fontello, Adobe Edge Inspect, Foundation 3, Brackets.

L. Quality Assurance Tools


Quality assurance in a software organization is monitoring the engineering process and methods adopted
to develop the software product in order to ensure conformance of quality as per organization standards.
QA tools consist of configuration and change control tools and software testing tools. For example,
SoapTest, AppsWatch, JMeter.

M. Maintenance Tools
Software maintenance includes modifications in the software product after it is delivered. Automatic
logging and error reporting techniques, automatic error ticket generation and root cause Analysis are few
CASE tools, which help software organization in maintenance phase of SDLC. For example, Bugzilla
for defect tracking, HP Quality Center.

(LDCE-IT-SE-MANUAL VER:2020) 155


Practical 11: Software Engineering Case Study Review.

AIM: Review of Website/ Desktop Application from Software Engineering Perspectives.

Name of Desktop/Web /Mobile Application:

Segment: (like Social Media/ Banking/ Gaming/ Trading/ Shopping/ etc )

Major Functionalities:

Ease of User Interface:

No of Users(Approx.) :

Targeted Users with Types :(Skilled Professionals/ Novice/ETC )

Input: Data/Image/Information

Output: Transaction/Reports/Statistics/etc

No of Screens/Pages/Cards (Approx.):

Media Upload/Download: Images/Audio/Video/Animations

Money Payment Interface (If Any):

Query/ Feedback/Complaint Resolution:

FAQs Sections:

User Manual (If Any):

User Guidance (if any):

Type: Online/ Offline/ Mixed Mode

Update Mode:

Critical Point of Failures: (When application is consider as failure)

Security Features:

Alternatives/Similar Application (if Any):

Advantages over Competing Application:

(LDCE-IT-SE-MANUAL VER:2020) 156

You might also like