Sde Rajendra
Sde Rajendra
CONTENTS
1
EXPERIMENT NO 1
Problem Statement: Illustrate strategies and stages of software development life cycle and
compare them. identify the role of the software in today’s world across a few significant domains
related to day to day life.
Objectives: To develop methods and procedures for software development that can scale up for
large systems and that can be used consistently to produce high-quality software at low cost and
with a small cycle of time.
Outcomes: After going through this section, you should be able to develop and conduct
appropriate experimentation, analyze and interpret data, and use engineering judgment to draw
conclusions.
Theory:
Software Development Life Cycle (SDLC) is a framework that defines the steps involved in the
development of software at each phase. It covers the detailed plan for building, deploying and
maintaining the software.
2
Software has made the world a global village today. The impact of software spans across almost
all aspect of human life. All organizations, Institutions and companies are leveraging the
potentials of software in automating the critical functions and eliminating manual interventions.
Software is also a predominant are for trade and export especially for the countries like India.
Domains like health care, Airlines , financial Services, Insurance , retails, Education, and many
more have exploited software and still there a lot of the scope for software to create impact and
add values in multiple dimensions.
Conclusion:
Q2. Who are the people involved in the phases of Waterfall Model.
Q5.Explain TELOS ?
3
EXPERIMENT NO. 2
Aim / Title: Understanding UML and Formulate complete problem statement on any real life
problem.
Problem Statement: Introduction to UML. Formulate complete problem statement on any real
life problem.
Objectives:
1. Explain what UML is, why it is relevant to the process of developing software intensive
systems.
Theory: The Unified Modelling Language (UML) is a standard language for specifying,
visualizing, constructing, and documenting the artifacts of software systems, as well as for
business modelling and other non-software systems. The UML represents a collection of best
engineering practices that have proven successful in the modelling of large and complex systems.
The UML is a very important part of developing object oriented software and the software
development process. The UML uses mostly graphical notations to express the design of
software projects. Using the UML helps project teams communicate, explore potential designs,
and validate the architectural design of the software.
A problem statement is a short explanation of a problem a business is facing and a proposed
solution to the problem. Problem statements can be effective ways to define an issue and
communicate a solution within a short span of time. Before you write your problem statement,
think about the problem and your proposed solution. Follow the Steps to write your problem
Statement:
1. Describe the "ideal" state of affairs.
2. Explain what is your problem
3. One of the most important goals of any problem statement is to define the problem being
addressed in a way that's clear and precise. Its aim is focus the process improvement
team’s activities and steer the scope of the project.
4. Ensure that the problems include the customer’s perspective.
4
5. Ensure that the statement focuses on existing problems.
6. Try to include the time frame over which the problem has been occurring.
7. Review your problem statement against following criteria:
● It should focus on only one problem.
● It should be one or two sentences long.
● It should not suggest a solution.
In the midst of pandemic, one of the most negatively impacted sectors is educational sector.
Learners are facing problem in getting proper education while the trainers are unable to impart
education efficiently. Developing a platform where all the needs, be it library, fees, and other
departments in an institute, of both learners and trainer are catered, will help in striking a balance
in the education system.
Output: NA
Conclusion:
● Explain software.
5
EXPERIMENT NO. 3
Aim / Title: Do requirement analysis and develop Software Requirement Specification Sheet
(SRS) for suggested system.
Outcomes: Student will be able to make a proper SRS based on their projects
Theory:
What is SRS?
A software requirements specification (SRS) is a description of a software system to be
developed. It lays out functional and non-functional requirements, and may include a set of use
cases that describe user interactions that the software must provide.
1. Correctness:
User review is used to ensure the correctness of requirements stated in the SRS. SRS is
said to be correct if it covers all the requirements that are actually expected from the
system.
2. Completeness:
Completeness of SRS indicates every sense of completion including the numbering of all
the pages, resolving the to be determined parts to as much extent as possible as well as
covering all the functional and non-functional requirements properly.
3. Consistency:
Requirements in SRS are said to be consistent if there are no conflicts between any set of
requirements.
6
4. Unambiguousness:
An SRS is said to be unambiguous if all the requirements stated have only 1
interpretation.
5. Modifiability:
SRS should be made as modifiable as possible and should be capable of easily accepting
changes to the system to some extent.
6. Verifiability:
An SRS is verifiable if there exists a specific technique to quantifiably measure the extent
to which every requirement is met by the system.
7. Traceability:
One should be able to trace a requirement to a design component and then to a code
segment in the program. Similarly, one should be able to trace a requirement to the
corresponding test cases.
8. Design Independence:
There should be an option to choose from multiple design alternatives for the final
system. More specifically, the SRS should not include any implementation details.
9. Testability:
An SRS should be written in such a way that it is easy to generate test cases and test
plans from the document.
10. Understandable by the customer:
An end user maybe an expert in his/her specific domain but might not be an expert in
computer science. Hence, the use of formal notations and symbols should be avoided to
as much extent as possible. The language should be kept easy and clear.
11. Right level of abstraction:
If the SRS is written for the requirements phase, the details should be explained
explicitly. Whereas, for a feasibility study, fewer details can be used. Hence, the level of
abstraction varies according to the purpose of the SRS.
Problem Statement:
In the midst of pandemic, one of the most negatively impacted sectors is educational sector.
Learners are facing problem in getting proper education while the trainers are unable to impart
education efficiently. Developing a platform where all the needs, be it library, fees, and other
departments in an institute, of both learners and trainer are catered, will help in striking a balance
in the education system.
7
PROPOSED SOLUTION
Attendance System
Most of the schools and colleges are adopting the technologically automated attendance
system. It eliminates the time consuming traditional system and helps the teachers to
keep a track of student in the classroom. Also, the inbuilt leave management system
keeps a track record of leaves/absents of students.
E-notes
Teachers will be able to post any study material or any other resources which will be
helpful for the learner.
All the notes of a particular subject will be stored in a systematic manner to make
searching easier.
Fee Department
Students will be able to view their fee status and interact with the department officials in
case of any query. This will help the students tremendously as they don’t have to go to
the institution personally or call any incharge (administrator) to get the updates of their
fee structure. Every information regarding their fees will be accessible to the students
and a query chat box will be made available for their convenience.
8
Push Notifications
Students will get important updates and notifications about upcoming events, exam
schedule, courses and syllabus, and an important announcement. Real-time updates will
be sent to all the students.
CONCLUSION
Output: NA
9
EXPERIMENT NO.4
Aim / Title: To draw a sample ENTITY RELATIONSHIP DIAGRAM for real project or
system.
Objectives:
1. To identify entity and attributes for the system
Theory:
Entity Relationship Diagrams are a major data modelling tool and will help organize the data in
your project into entities and define the relationships between the entities. This process has
proved to enable the analyst to produce a good database structure so that the data can be stored
and retrieved in a most efficient manner.
Entity A data entity is anything real or abstract about which we want to store data. Entity types
fall into five classes: roles, events, locations, tangible things or concepts. E.g. employee,
payment, campus, book. Specific examples of an entity are called instances. E.g. the employee
John Jones, Mary Smith's payment, etc.
Relationship A data relationship is a natural association that exists between one or more
entities. E.g. Employees process payments. Cardinality defines the number of occurrences of one
entity for a single occurrence of the related entity. E.g. an employee may process many payments
but might not process any payments depending on the nature of her job.
10
Attribute A data attribute is a characteristic common to all or most instances of a particular
entity. Synonyms include property, data element, field. E.g. Name, address, Employee Number,
pay rate are all attributes of the entity employee. An attribute or combination of attributes that
uniquely identifies one and only one instance of an entity is called a primary key or identifier.
E.g. Employee Number is a primary key for Employee.
Instructions: Use Star UML or Rational Rose Tools to draw UML diagrams.
Problem Statement: Draw the ENTITY RELATIONSHIP diagram.
11
Output:
Conclusion:
● What is Entity?
● What is Attribute?
● What do you mean by E-R diagram?
● Draw E-R diagram for employee and company.
● What can be the attributes for a student?
12
EXPERIMENT NO 5
Objectives: To get familiarity with the scope and boundaries of a system as a whole. It may be
used as a communication tool between a system analyst and any person who plays a part in the
order that acts as a starting point for redesigning a system
Outcomes: After going through this section, you should be able to: maps out the flow of
information for any process or system.
Pre-requisite: Basic knowledge about Software Design.
Theory:
Data flow diagrams illustrate how data is processed by a system in terms of inputs and
13
Data Flow Diagram Notations:You can use two different types of notations on your data flow
diagrams
Process Notations
Process A process transforms incoming data flow into outgoing data flow.
Data Flow:
Instructions: NA
Program: NA
14
Output: DF(Context Diagram)
Output: DF(Level 1)
Output: DF(Level 2)
Conclusion:
15
EXPERIMENT NO 6
Outcomes: After going through this section, you should understand the overview of all or part of
the usage requirements for a system or organization in the form of an essential model or a
business model.
Pre-requisite: Basic knowledge about Software Design.
Theory:
According to the UML specification a use case diagram is ―a diagram that shows the
relationships among actors and use cases within a system. Use case diagrams are often used to:
● Provide an overview of all or part of the usage requirements for a system or organization
in the form of an essential model or a business model.
● Communicate the scope of a development project.
● Model your analysis of your usage requirements in the form of a system use case model.
Use cases
Horizontally shaped ovals that represent the different uses that a user might have.
Actors
Stick figures that represent the people actually employing the use cases.
16
Associations:
A line between actors and use cases. In complex diagrams, it is important to know which actors
are associated with which use cases.
Include relationship:
In UML modeling, an include relationship is a relationship in which one use case (the base use
case) includes the functionality of another use case (the inclusion use case). The include
relationship supports the reuse of functionality in a use-case model.
Extend relationship:
Extend is a directed relationship that specifies how and when the behaviour defined in usually
supplementary (optional) extending use case can be inserted into the behaviour defined in the
extended use case.
Generalization:
In the context of use case modelling the use case generalization refers to the relationship which
can exist between two use cases and which shows that one use case (child) inherits the structure,
behaviour, and relationships of another actor (parent).
17
System boundary boxes
A box that sets a system scope to use cases.
Instructions: NA
Program: NA
Output:
Conclusion:
18
EXPERIMENT NO 7
Problem Statement: Prepare STATE CHART DIAGRAM for online academic system.
Outcomes: state chart diagram shows a state machine, which specifies the sequences of states
that an object can be in, the events and conditions which cause
Theory:
State Chart Diagrams provide a way to model the various states in which an
object can exist.
There are two special states: the start state and the stop state.
● The Start state is represented by a block dot.
● The Stop state is represented by a bull’s eye.
● A condition enclosed in square brackets is called a guard condition, and
controls when a transition can or cannot occur.
● Process that occur while an object is in certain state are called actions.
19
State defines current condition of an event or activity. State diagram is often used to describe
state changes triggered by events.
Start state symbol signals the first step of a process.
End state symbol stands for the result of a process.
Transition takes operation from one state to another and represents the response to a particular
event. A single transition comes out of each state or activity, connecting it to the next state or
activity.
Constraint is an extension mechanism that enables you to refine the semantics of a UML model
element.
Output:
Conclusion:
Q2.What are the elements which are utilized in STATE CHART DIAGRAM ?
20
EXPERIMENT NO 8
Objectives: To show diagrammatically the objects required and the relationships between
them while developing a software product.
Outcomes: The purpose of class diagram is to model the static view of an application. Class
diagrams are the only diagrams which can be directly mapped with object-oriented languages
and thus widely used at the time of construction.
Theory:
The UML Class diagram is a graphical notation used to construct and visualize object oriented
systems. A class diagram in the Unified Modeling Language (UML) is a type of static structure
diagram that describes the structure of a system by showing the system's:
● classes,
● their attributes,
● operations (or methods),
● and the relationships among objects.
Class
A class represents a relevant concept from the domain, a set of persons, objects, or ideas that are
depicted in the IT system:
Attribute
An attribute of a class represents a characteristic of a class that is of interest for the user of the IT
system:
21
Generalization
Generalization is a relationship between two classes: a general class and a special class:
Association
An association represents a relationship between two classes:
Multiplicity
A multiplicity allows for statements about the number of objects that are involved in an
association:
22
Aggregation
An aggregation is a special case of an association (see above) meaning “consists of”:
Output :
Conclusion:
23
EXPERIMENT NO 9
Objectives: To understand the interactions between objects that are represented as lifelines in a
sequential order of a project using Sequence Diagram.
Outcomes: A sequence diagram simply depicts interaction between objects in a sequential order
i.e. the order in which these interactions take place. We can also use the terms event diagrams or
event scenarios to refer to a sequence diagram.
Pre-requisite: Basic knowledge about Software Design.
Theory:
Sequence diagrams are a popular dynamic modeling solution in UML because they specifically
focus on lifelines, or the processes and objects that live simultaneously, and the messages
exchanged between them to perform a function before the lifeline ends. Along with our UML
diagramming tool, use this guide to learn everything there is to know about sequence diagrams in
UML.
Sequence Diagram Notations:
Object symbol
Class roles describe the way an object will behave in context. Use the UML object symbol to
illustrate class roles, but don't list object attributes..
24
Messages
Messages are arrows that represent communication between objects. Use half-arrowed lines to
represent asynchronous messages. Asynchronous messages are sent from an object that will not
wait for a response from the receiver before continuing its tasks. For message types, see below
Lifelines
Lifelines are vertical dashed lines that indicate the object's presence over time
25
Loops
A repetition or loop within a sequence diagram is depicted as a rectangle. Place the condition for
exiting the loop at the bottom left corner in square brackets [ ].
Output :
Conclusion:
26
EXPERIMENT NO 10
Theory:
Activity diagrams are the perfect UML solution for visualizing process flows.
Output:
Conclusion:
27
Sample Viva Questions and Answers:
28