Prac 1 To 3
Prac 1 To 3
Prac 1 To 3
Sr.
No
INDEX
Select a software project and identify the process model with proper
1
justification.
Collect the functional requirements for the project. (Questionnaires/
2
stakeholders’ interview questions)
Analyse functional and non-functional requirement and prepare SRS
3
document for the project.
4 Prepare GANTT chart for selected system.
5 Prepare PERT chart for selected system.
6 Design DFD(context, level-1/2) for function oriented design.
7 Design data dictionary of the selected system.
Prepare User-case diagrams of the selected system for object oriented
8
design.
Prepare Activity diagrams of the selected system for object oriented
9 design.
Practical 1:
AIM: Select a software project and identify the process model
with proper justification.
project Process :
Project :
Both projects and process are important for running and improving a
the management process specifies how to plan and control these activities so
that cost, schedule, quality, and other objectives are met. Effective
development and project management processes are the key to achieving the
objectives of delivering the desired software satisfying the user needs, while
ensuring high productivity and quality.
Figure 2.2:
Software
processes.
Feasibility study
Requirement analysis
and specification
Design
Integration and
system testing
Maintenance
Design
During the design phase the software architecture is derived from the SRS
document.
6
The customer requirements are broken down into logical modules for the
implementation.
Hardware and software requirements for every module are identified.
Also the inter relation between the various logical modules is established
at this stage.
Algorithms and diagrams defining the objective of each logical model are
developed.
Maintenance
Maintenance involves following three kinds of activities:
Correcting errors that were not discovered during the product
development phase. This is called corrective maintenance.
Improving and enhancing the functionalities of the system according
to the customer’s requirements. This is called perfective
maintenance.
Porting the software to work in a new environment. For example,
porting may be required to get the software to work on new
7
operating system. This is called adaptive maintenance.
Advantages:
Disadvantages:
. If you know your requirements well, it will be easier to select a model that best
matches your needs following factors in mind when selecting your software
process model:
Project requirements
Before you choose a model, take some time to go through the project requirements
and clarify them along side your organization’s or team’s expectations. Will the
user need to specify requirements in detail after each iterative session? Will the
requirements change during the development process?
Project size
Consider the size of the project you will be working on. Larger projects mean
bigger teams, so you’ll need more extensive and elaborate project management
plans.
Project complexity
Complex projects may not have clear requirements. The requirements may change
often, and the cost of delay is high. Ask yourself if the project requires constant
monitoring or feedback from the client.
8
Cost of delay
Is the project highly time-bound with a huge cost of delay, or are the timelines
flexible?
Customer involvement
Do you need to consult the customers during the process? Does the user need to
participate in all phases?
This involves the developers’ knowledge and experience with the project domain,
software tools, language, and methods needed for development.
Project resources
This involves the amount and availability of funds, staff, and other resources.
9
Practical 2:
AIM : Collect the functional requirements for the project.
(Questionnaires/ stakeholders’ interview questions)
Functional requirements:
o The system must allow users to log into their account by
entering their email and password.
o The system must allow users to log in with their Google
accounts.
o The system must allow users to reset their password by clicking
on "I forgot my password" and receiving a link to their verified
email address.
7. User story 3: as an applicant, I must be able to view job opportunities
and explore them by using different filters.
Functional requirements:
o Applicant’s dashboard page
o A page with a list of the posted jobs
o A feature to filter and organize the posted jobs based on skill,
date, and other descriptions
o A feature that enables applicants to explore different jobs and
organize them based on company, scale, pay rate, or other
descriptions
8. Website Building
how users can access webpages, what happens when users click on
certain parts of the webpage and how the website appears in a browser.
The background colour for the main page is light yellow.
Each product has an "add to cart" button that places that item in a
virtual shopping cart.
The checkout securely processes credit cards from all major vendors.
The software passes all security requirements.
The website allows company administrators to access order data.
Users can click the side navigation page to browse different website
sections.
A web page contact form sends emails directly to the sales manager's
inbox.
1
What is Stakeholder:
A stakeholder is anyone who has interest in your project or with whom you
need to work with in some way to complete the project. Understanding your
stakeholders and their perspectives is key to your project’s success and is
commonly done through stakeholder interviews.
Examples:
PRACTICAL : 3
AIM : Analyse functional and non-functional requirement
and prepare SRS document for the project.
Once you have a well-defined and clear business requirement, you can explain
the same in-depth to the stakeholders and bring them on the same page as you
are.
All in all,
Describing the requirements, you make sure that you are meeting the
legal and compliance rules;
It gives you a chance to bide by the security policy and deliver an
extravagant user experience.
Purpose: This section will include all the background, definitions, and
system overview;
Describe the scope of product, the expectations, and the business
rules;
Define the database requirements, system attributes, and functional
requirements;
Include the use cases, which means describe how a user will interact
with the system.
Define the role of every actor participating in the interaction; describe
in detail how a user will engage with the developed product step by
step.
Both Requirement like brainstorming the idea of the product. You can
collect the requirements and prepare a document individually.
You can prepare a system requirement specification (SRS), where both
the requirements are mentioned in a single document.
This document is highly narrative and defines the purpose and objective
of the product clearly.
The functional requirements of the solution can be broken down into the
Work Breakdown Structure (WBS) structure, where the entire process is
1
divided into components. These components are so small that they can
not be divided further.
Example:
Functional Requirement
The Librarian does the following function(s):-
1. Add Article : New entries must be entered in database
2. Update Article : Any changes in articles should be updated in case of update
3. Delete Article : Wrong/Expiry/Un-usable entry must be removed from
system
4. Inquiry Members : Inquiry all current enrolled members to view their details
5. Inquiry Issuance : Inquiry of all database articles
Non-Functional Requirement
1.Safety Requirements : The database may get crashed at any retain time due to
virus or operating system failure. Therefore it is required to take the database
backup.
4.Hardware Constraints
The system requires a database in order to store persistent data. The database
should have backup capabilities.
5. Software Constraints
The development of the system will be constrained by the availability of
required software such as database and development tools.
1
Practical 4)
AIM: Prepare GANTT chart for selected system.
What is a gantt chart?: Definition & overview
A gantt chart is a horizontal bar chart used in project management to visually represent a
project plan over time. Gantt charts typically show you the timeline and status as well as
who’s responsible for each task in the project.
list. Here are a few sure signs you’re going to need a gantt chart to get the job done:
2. Gather information about all tasks and processes within the project.
You will need to know each of the different phases (summary elements) of a project
and all the tasks (terminal elements) that need to be accomplished in each phase.
o Learn about terminal and summary elements. Terminal elements are smaller
tasks that make up a larger task. The larger task that the terminal elements
make up is called the summary element. For example, if you are filming a
movie, one of the summary elements may include each scene that needs to
be shot. The terminal elements may include planning, set design, filming,
editing, and animation for each scene.[1]
1
5. List each task of the project on the left side of the graph.
Each task should have it's own line in the graph. To make the Gantt chart look more
organized, be sure to list each task in the order they need to be completed in. You
also need to know how long it will take for each task to be completed.
2
6. Arrange bars for each phase and/or tasks within the timeline.
Use a highlighter or colored bars to highlight when each task starts and finishes
within the timeline. When you are finished, you should have a list of staggering bars
for each task below the timeline. Some bars may have overlapping dates, bars that
represent tasks that are dependant on other tasks will need to start after the
dependent task is completed.
7. Implement the Gantt chart in software. After you have created a rough draft of your
Gantt chart, use software to print a clear and professional looking final copy.
Microsoft Project is software specifically made for project management that has the
ability to create and print Gantt charts. You can also create Gantt charts in Microsoft
Excel, PowerPoint, Word, Photoshop, or Adobe Illustrator and many other programs.
2
Practical 5
AIM: Prepare PERT chart for selected system.
What is Project Evaluation Review Technique (PERT)?
In project management, the Project Evaluation Review Technique, or PERT, is used to
identify the time it takes to finish a particular task or activity.
It is a system that helps in the proper scheduling and coordination of all tasks throughout
a project.
It also helps in keeping track of the progress, or lack thereof, of the overall project.
PERT is a technique in project management that we apply to manage uncertain activities
of any project.
On the other hand, a Critical Path method – CPM is a statistical technique where we have
a set of well-determined project activities
There are four definitions of time used to estimate project time requirements:
• Optimistic time – The least amount of time it can take to complete a task
• Pessimistic time – The maximum amount of time it should take to complete a task
• Most likely time – Assuming there are no problems, the best or most reasonable estimate
of how long it should take to complete a task.
• Expected time – Assuming there are problems, the best estimate of how much time will
be required to complete a task.
Advantages of PERT:
1. It helps maximize the use of resources.
2. It makes project planning more manageable.
3. It’s useful even if there is little or no previous schedule data.
4. It enables project managers to better estimate or determine a more definite completion date.
Disadvantages of PERT:
1. In complex projects, many find PERT hard to interpret, so they may also use a Gantt Chart,
another popular method for project management.
2. It can be tedious to update, modify, and maintain the PERT diagram.
2
Practical 6:
Design DFD(context, level-1/2) for function oriented
design.
What is DFD?
A data-flow diagram (DFD) is a way of representing a flow of data of a process or a system
(usually an information system), for example:
In other words, it shows how data is processed by a system in terms of inputs and outputs.
DFD is built using standardized symbols. There are several notations for displaying data-flow
diagrams.
DFD uses 4 basic symbols to represent the flow of the diagram. They are
1. Process
2. Data Store
3. External Entity
4. Data Flow (Arrow)
2
1. Every single process should have at least one input and one output.
2. Each data store should have at least one data flow in and data flow out.
3. Every system’s stored data has to go through a process.
4. Every process in a data flow diagram must link to another process or data store.
This step gives a macro view of your system and clear the broadest tasks the system should
achieve. Again, the rest of the DFD is built on these elements.
You could achieve this by drawing a single process node and connecting it to related external
entities. The node represents the general process information undergoes in a system from
input to output.
Level 1 DFDs are more of a general overview, but they give more detail than a context
diagram. Break the single process lump into detailed processes. This brings out where the
information starts and what needs to happen to it.
This breaks the processes down into more detailed subprocesses. Ensure you add any
necessary data stores and flows at this point.
Walk again through your diagram as you pay close attention to the flow of information. If it
makes sense and all necessary data stores are included, then thumbs up. Other parties should
find your diagram comprehensible.
DFD
Both Data Flow Diagrams (DFD) and Flowcharts are used to make it easier to understand the
way a process is taking place or data is being processed.
A Data Flow Diagram shows how data flows through a system which is processed as well.
The flow of the data from an external or internal source as well as where the data will end up
2
is shown in a DFD. A DFD has no control flow, there are no decision rules and no loops.
Specific operations based on the data can be represented by a flowchart.
Context DFD
The figure below shows a context Data Flow Diagram that is drawn for a railway company’s
Customer Service System. It contains a process (shape) that represents the system to model,
in this case, the “CS System“. It also shows the participants who will interact with the system,
called the external entities. In this example, the CS Assistant and Passenger are the two
2
entities that will interact with the system. In between the process and the external entities,
there is data flow (connectors) that indicate the existence of information exchange between
the entities and the system.
Context DFD is the entrance of a data flow model. It contains one and only one process and
does not show any data store.
Level 1 DFD
The figure below shows the level 1 DFD, which is the decomposition (i.e. break down) of the
CS System process shown in the context DFD. Read through the diagram and then we will
introduce some of the key concepts based on this diagram.
2
Practical 7
AIM: Design data dictionary of the selected
system.
What is a data dictionary?
For example, a bank or group of banks could model the data objects
involved in consumer banking. They could then provide a data dictionary
for the bank's programmers. The data dictionary would describe each set
of data in its data model for consumer banking, such as "account holder"
and "available credit."
3
1. Active data dictionaries are created within the databases they describe
and automatically reflect any updates or changes in their host databases.
o In this case, there is a chance of mismatch with the database object and the
DD.
It gives the well structured and clear information about the database.
One can analyse the requirement and redundancy like duplication
columns, table etc.
It is helpful for the administrator or any new DBA to understand the
database. Since it has all the information about the database, DBA can
easily able to track any data in the database.
Since database is a very huge and will have lost of table, views,
constrains, index etc, it will be difficult for anyone to remember. Data
dictionary helps user by providing all the detail in it.
3
Practical 8
AIM: Prepare Use-case diagrams of the selected
system for object-oriented design.
What is the use case Diagram?
1) Actors
Actors are used to represent the users of system, actors can actually be
anything that needs to exchange information with the system.
A use case diagram shows the interaction between the system and external
entities or user.
2) Use Cases
3
It used to describe the interaction between user and system within a use case
by creating a sub-sequence diagram under a use case.
A use case represents a user goal that can be achieved by accessing the system
or software application
3) Relationships
With the simple line we can represent relationships between an actor and use
cases.
Above all notation are use in a use case. Both are connect using connecting line
with an optional arrowhead showing the direction of control.
The following diagram indicates that the actor "Customer" uses the
"Withdraw" use case.
Different relationship in use case diagram are defined using include and
exclude relationship.
4) <<Including>> Relationship
3
Use cases may contain the functionality of another use case as part of their
normal processing. It is assumed that any included use case will be called every
time at that time the basic path will run.
5) <<Extend>> Relationship
One use case may be used to extend the behaviour of another, this is typically
used in exceptional circumstances.
6) Generalization
3
The more specific model element share the same specification with. the more
general the model element but carries more details in extra
7) System
The use cases of the system are placed inside the system shape, while
the actor who interact with the system are put outside the system. The use
cases in the system make up the total requirements of the system.
Practical 9
AIM: Prepare Activity diagrams of the selected system for
object oriented design.
What is an Activity diagram?
Activity diagram in the software design models is used to represent the flow of
control among the different activities of the software.
Step 1: Figure out the action steps from the use case
Here you need to identify the various activities and actions for your software
process or system is made up of.
If you already have figured out who the actors are, then it’s easier to discern
each action they are responsible for.
Figure out in which order the actions are processed. Mark down the conditions
that have to be met in order to carry out certain processes, which actions
occur at the same time and whether you need to add any branches in the
diagram. And do you have to complete some actions before you can proceed
to others?
You have already figured out who is responsible for each action. Now it’s time
to assign them a swimlane and group each action they are responsible for
under them.
4
Practical 10)
AIM : Design appropriate User Interface based on the
type of project.
❖ What is User Interface (UI) Design?
User Interface (UI) defines the way humans interact with the information
systems.
User Interface (UI) is a series of pages, screens, buttons, forms and other visual
elements that are used to interact with the device. Every app and every
website has a user interface.
❖ Disadvantages of UI :
• When not properly built, it can be very difficult to work with.
• Takes time to built a Perfect UI.
❖ Example:
4
As the User Interface can make or break the incoming users, it’s important to
take care of below points when designing a UI:
• Keep the interface simple: Clear and simple interface are best. Avoid
unnecessary elements. Best interfaces are invisible to user.
• Be consistent and use common UI elements: Using common elements, users
feel more comfortable and are able to get things done more quickly.
• Placement of items: To draw attention to most important pieces of
information careful placement of items is necessary. This can improve users
readability and engage them.
• Use of right colour: To direct attention towards something take advantage of
colour, light, shade, contrast and texture. It’s important top make use of good
colour combination as a bad colour combination can easily distract or irritate a
user.
Practical 11)
4
When action is successful, the login page directs the user to the eCommerce
app home page. The cancel button cancels the login.
Specifications –
The use-case scenario above can be tested through a variety of functional tests
such as:
1. System tests: This test is performed to ensure that all the components of the
software are working as expected or not in perfect combination.
Example — This test would check the customer journey i.e. Ecommerce
application loading, entering accurate credentials, directing to the home page,
performing tasks, logging out of the system. This test ensures that the
workflow proceeds and completes without any errors.
1. Boundary value tests: This test is performed to check how the system
behaves when data limits are implemented.
Example — The user-id requires a minimum of 6 characters, this test will check
how the system responds when less than 6 characters are entered.
1. Decision-based tests: This tests checks for possible system outcomes when a
particular condition is met.
Example -
• If incorrect credentials are entered, the system should alert the user and
reload the login page.
• If correct credentials are entered, the system should take the user to the
home page.
• If correct credentials are entered but the user wants to cancel login, the
system should not direct the user to the home page UI. Instead, it should
reload the login page