Ujjain Engineering College: Department of Computer Science and Engineering
Ujjain Engineering College: Department of Computer Science and Engineering
Ujjain Engineering College: Department of Computer Science and Engineering
DEPARTMENT OF
COMPUTER SCIENCE AND ENGINEERING
Roll no :- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Experiment 1
Theory:-
1 Software Engineering and Project Managment
Software is a term referred to a set of instructions which
when executed provide a desired functionality. Software
engineering is a engineering branch associated with
development of software product using well defined methods
and principles. Utilization on SEPM model makes the
developed software effective and reliable software product.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Software Development Life Cycle is a process of requirement
gathering, designing, developing, testing and mentaining.
Therefore it is also called Software Process Model.
1. Prescriptive Modeling:-
Prescriptive modeling prescribes a set of activities,
actions, tasks, quality assurance and change the mechanism
for every project.
For every sub type of prescriptive modeling the set of
requirement is fixed.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Sequential Life Cycle Model. It is very simple to understand
and use. In a waterfall model, each phase must be completed
before the next phase can begin and there is no overlapping
in the phases.
In waterfall model any phase in the development process begin
only if the previous phase is complete. In Waterfall model,
the phase do not overlap.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Coding:- With inputs from the system design, the system is
first developed in small programs called units, which are
integrated in the next phase. Each unit is developed and
tested for its functionality, which is referred to as Unit
Testing.
Advantages:-
1. Easy to maintain.
2. Easy Modeling.
3. Low costing while using this model.
4. Good for small program develpment.
Disadvantages:-
1. Risk is high(of failure).
2. Can’t change your requirements once they are fixed.
3. No backtracking allowed.
4. Overlapping is also not allowed.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
2. Evolutionary
I. Prototype Modeling.
Prototyping is defined as the process of developing a working
replication of a product or system that has to be engineered.
It offers a small scale facsimile of the end product and is
used for obtaining customer feedback.
Prototype Modeling
Advantages.
1. The customers get to see the partial product early in the
life cycle. This ensures a greater level of customer
satisfaction and comfort.
2. New requirements can be easily accommodated as there is
scope for refinement.
3. Missing functionalities can be easily figured out.
4. Errors can be detected much earlier thereby saving a lot of
effort and cost, besides enhancing the quality of the
software.
5. The developed prototype can be reused by the developer for
more complicated projects in the future.
6. Flexibility in design.
Disadvantages.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
1. Costly w.r.t time as well as money.
2. There may be too much variation in requirements each time
the prototype is evaluated by the customer.
3. Poor Documentation due to continuously changing customer
requirements.
4. It is very difficult for developers to accommodate all the
changes demanded by the customer.
5. There is uncertainty in determining the number of
iterations that would be required before the prototype is
finally accepted by the customer.
6. After seeing an early prototype, the customers sometimes
demand the actual product to be delivered soon.
7. Developers in a hurry to build prototypes may end up with
sub-optimal solutions.
8. The customer might lose interest in the product if he/she
is not satisfied with the initial prototype.
3. Agile Modeling.
Agile model believes that every project needs to be handled
differently and the existing methods need to be tailored to best
suit the project requirements. In Agile, the tasks are divided
to time boxes (small time frames) to deliver specific features
for a release.
Iterative approach is taken and working software build is
delivered after each iteration. Each build is incremental in
terms of features; the final build holds all the features
required by the customer.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Agile Model
Agile Vs Traditional SDLC Models:
Agile is based on the adaptive software development methods,
whereas the traditional SDLC models like the waterfall model is
based on a predictive approach. Predictive teams in the
traditional SDLC models usually work with detailed planning and
have a complete forecast of the exact tasks and features to be
delivered in the next few months or during the product life
cycle.
Predictive methods entirely depend on the requirement analysis
and planning done in the beginning of cycle. Any changes to be
incorporated go through a strict change control management and
prioritization.
Agile uses an adaptive approach where there is no detailed
planning and there is clarity on future tasks only in respect of
what features need to be developed. There is feature driven
development and the team adapts to the changing product
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
requirements dynamically. The product is tested very frequently,
through the release iterations, minimizing the risk of any major
failures in future.
Customer Interaction is the backbone of this Agile methodology,
and open communication with minimum documentation are the
typical features of Agile development environment. The agile
teams work in close collaboration with each other and are most
often located in the same geographical location.
Advantages:−
1. Is a very realistic approach to software development.
2. Promotes teamwork and cross training.
3. Functionality can be developed rapidly and demonstrated.
4. Resource requirements are minimum.
5. Suitable for fixed or changing requirements
6. Delivers early partial working solutions.
7. Good model for environments that change steadily.
8. Minimal rules, documentation easily employed.
9. Enables concurrent development and delivery within an
overall planned context.
10. Little or no planning required.
11. Easy to manage.
12. Gives flexibility to developers.
Disadvantages:−
1. Not suitable for handling complex dependencies.
2. More risk of sustainability, maintainability and
extensibility.
3. An overall plan, an agile leader and agile PM practice is a
must without which it will not work.
4. Strict delivery management dictates the scope,
functionality to be delivered, and adjustments to meet the
deadlines.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
5. Depends heavily on customer interaction, so if customer is
not clear, team can be driven in the wrong direction.
6. There is a very high individual dependency, since there is
minimum documentation generated.
7. Transfer of technology to new team members may be quite
challenging due to lack of documentation.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Experiment 2
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
2. Overview
In today’s world, owning to the heavy workload on the employees,
they are having a huge amount of stress in their lives. Even
with the presence of so many gadgets in and around them, they
are not able to relieve their stress. I aim to develop an
application that would enable them to share the thing of their
liking and meet the person who has the same passion as theirs.
For eg. If someone wants to share their art, they can share it
through the platform, if someone wants to sing any song, they
can record it and share the same. They can also share videos
(with some funny commentary in the background), share mysteries
which other people can solve, post any question. Through my
platform, I’ll enable them to meet people who share common
interests and passions, chat with them, and have some fun.
2.1 Customers
Everyone. Anyone can use this application ranging from a child
to an old-age person.
2.2 Functionality
• Users should be able to register through their already
existing accounts.
• They should be able to share snaps/videos/snaps.
• People should be able to like and comment on any post. One
person can follow another person who shares common
interests and likings which would enable them to find mates
apart from their usual friend circle.
• Each user can have his/her profile picture, status
• People can post mysteries and other people can solve the
mysteries.
• Users will get points for the popularity of their posts/the
number of mysteries they solve.
• Add own funny commentary on any video
• Post any questions regarding their interests and people can
answer.
2.3 Platform
It will be launched both as a Web-based application and a Mobile
app for Android.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
2.4 Development Responsibility
I, Anurag Mishra, would be developing the software and I am
responsible for the creation of the Database and all the other
related kinds of stuff.
3. Goals and Scopes
• Users should be able to register through their already
existing accounts.
• They should be able to share snaps/videos/snaps.
• People should be able to like and comment on any post.
• One person can follow another person who shares common
interests and likings which would enable them to find mates
apart from their usual friend circle.
• Each user can have his/her profile picture, status.
• People can post mysteries and other people can solve the
mysteries.
• Users will get points for the popularity of their posts/the
number of mysteries they solve.
4. Deliverables
I’ll deliver the following during the course of development:
• Feature specification
• Product design
• Test plan
• Development document
• Source code
5. Risk Management
5.1 Risk Identification
Following will be the risk involved in my project:
1) People are already using Facebook to find friends. So, what
would be the real cause that would motivate them to join my
application?
5.2 Risk Mitigation
Even though most of the users would already be using Facebook,
our platform would still offer them many things that are not
there on Facebook. For eg.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
1.They don’t meet people who share common interests and
passions as much. Our application would enable them to meet
people (apart from usual friends) who share common
interests and passions on a more frequent basis.
2.Users of FB cannot share songs on-the-go which they have
sung whereas on our app they can do that on the go.
3.People can post mysteries/cases and other people can solve
them. Moreover, people will get points in case they solve
the mysteries or on the basis of the popularity of their
posts.
4.More importantly, people need not register for my
application, but instead, they can log in using their
already existing accounts of Google/Facebook.
Thus, I think that there is a considerable amount of difference
between Facebook/Instagram/Twitter and my application and it
would attract many people.
6. Scheduling and Estimates
Milestone Description Release Date Release
Iteration
Application view October 5,
M1 R1
and Design 2015
(Front-end
development)
Database for my October 17,
M2 R1
application 2015
(Back-end)
Integrating views November 12,
M3 R1
and designs 2015
(Integrating
front-end and
back-end)
Testing for November 20,
M4 R2
initial release 20015
Issue tracker, December 1,
M5 R2
user reviews, 2015
web design
integration
M6 Final release December 23, R2
2015
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
7. Technical Process
Following would be the languages I would use to develop my
application within the stipulated time period:
DDS
A design specification is a written document that explains your
product and specifies what you want it to perform as well as how
the user should interact with it. While it may seem laborious to
write everything down, it is the most crucial thing you can do
in the early stages of product design and development. This is
because the design specs direct the whole scope of your product
development.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
The role of specification in the design process has an impact on
its development. The specification is crucial in the product
development process and it has been discovered to play a number
of roles, including:
• Designer guidance.
• Identify the intercommunication between requirements.
• Checklist, e.g., at meetings or workshops.
• An agreement within the design team and as a contract with
the customer, e.g., a supplier agreement, to perform the
design task.
• Trace the probability of propagation of change.
• Product overview.
• Purpose.
• Broad description.
• Detailed requirements.
The greatest software specification documents describe how the
software will interact with other software when it is embedded
in hardware. Real-world users are also taken into account in
good software specification documents.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Experiment 3
Theory:-
UML stands for Unified Modeling Language. It’s a rich language
to model software solutions, application structures, system
behavior and business processes.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Unified Modeling Language (UML) is a general purpose modelling
language. The main aim of UML is to define a standard way to
visualize the way a system has been designed. It is quite
similar to blueprints used in other fields of engineering.
UML is not a programming language, it is rather a visual
language. We use UML diagrams to portray the behavior and
structure of a system. UML helps software engineers, businessmen
and system architects with modelling, design and analysis. The
Object Management Group (OMG) adopted Unified Modelling Language
as a standard in 1997. Its been managed by OMG ever since.
International Organization for Standardization (ISO) published
UML as an approved standard in 2005. UML has been revised over
the years and is reviewed periodically.
Do we really need UML?
• Complex applications need collaboration and planning from
multiple teams and hence require a clear and concise way to
communicate amongst them.
• Businessmen do not understand code. So UML becomes
essential to communicate with non programmers essential
requirements, functionalities and processes of the system.
• A lot of time is saved down the line when teams are able to
visualize processes, user interactions and static structure
of the system.
UML is linked with object oriented design and analysis. UML
makes the use of elements and forms associations between them to
form diagrams. Diagrams in UML can be broadly classified as:
1. Structural Diagrams – Capture static aspects or structure
of a system. Structural Diagrams include: Component
Diagrams, Object Diagrams, Class Diagrams and Deployment
Diagrams.
2. Behavior Diagrams – Capture dynamic aspects or behavior of
the system. Behavior diagrams include: Use Case Diagrams,
State Diagrams, Activity Diagrams and Interaction Diagrams.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Experiment 4
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Experiment 5
Theory:-
A use case diagram is used to represent the dynamic behavior of
a system. It encapsulates the system's functionality by
incorporating use cases, actors, and their relationships. It
models the tasks, services, and functions required by a
system/subsystem of an application. It depicts the high-level
functionality of a system and also tells how the user handles a
system.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Example case:-
Here the Web Customer actor makes use of any online shopping
website to purchase online. The top-level uses are as follows;
View Items, Make Purchase, Checkout, Client Register. The View
Items use case is utilized by the customer who searches and view
products. The Client Register use case allows the customer to
register itself with the website for availing gift vouchers,
coupons, or getting a private sale invitation. It is to be noted
that the Checkout is an included use case, which is part of
Making Purchase, and it is not available by itself.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Experiment 6
Theory:-
Components of ER-Diagram
For Example:-
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Example 1.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
• It is most useful in describing the relationship sets that
involve more than two entity sets.
• For binary relationship set R on an entity set A and B,
there are four possible mapping cardinalities. These are as
follows:
1. One to one (1:1)
2. One to many (1:M)
3. Many to one (M:1)
4. Many to many (M:M)
Generalization
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
For example: Center entity offers the Course entity act as a
single entity in the relationship which is in a relationship
with another entity visitor. In the real world, if a visitor
visits a coaching center then he will never enquiry about the
Course only or just about the Center instead he will ask the
enquiry about both.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Experiment 7
Theory:-
The basic purposes of activity diagrams is similar to other four
diagrams. It captures the dynamic behavior of the system. Other
four diagrams are used to show the message flow from one object
to another but activity diagram is used to show message flow
from one activity to another.
Activity is a particular operation of the system. Activity
diagrams are not only used for visualizing the dynamic nature of
a system, but they are also used to construct the executable
system by using forward and reverse engineering techniques. The
only missing thing in the activity diagram is the message part.
It does not show any message flow from one activity to another.
Activity diagram is sometimes considered as the flowchart.
Although the diagrams look like a flowchart, they are not. It
shows different flows such as parallel, branched, concurrent,
and single.
The purpose of an activity diagram can be described as −
• Draw the activity flow of a system.
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
For example if a customer arrives at the restaurant then the
customer-staff interaction can be defined as.
• Activities
• Association
• Conditions
• Constraints
Rollno:- 0701CS181059
UJJAIN ENGINEERING COLLEGE
Once the above-mentioned parameters are identified, we need to
make a mental layout of the entire flow. This mental layout is
then transformed into an activity diagram.
Rollno:- 0701CS181059