SDL Experiments (1)-1
SDL Experiments (1)-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.
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.
phases of sdlc :
1.Planning
•Define project scope and goals.
•Identify resources, timeline, and budget.
•Feasibility study.
3.Design
•Create system architecture and design specifications.
•Develop UI/UX designs, database schemas, and technical
architecture.
5.Testing
•Test the software for bugs, security issues, and performance.
•Includes unit testing, integration testing, system testing, and
acceptance testing.
6.Deployment
•Release the software to the production environment.
•May be done in phases (pilot, staged rollout, etc.).
7.Maintenance
•Fix bugs and issues found in the production environment.
•Handle updates, patches, and feature enhancements
Conclusion:
Objectives:
1. Explain what UML is, why it is relevant to the process of developing
software intensive systems.
2. Write complete problem statement of any real life problem.
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.
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.
Problem Statements :-
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.
Conclusion:
Aim / Title: Do requirement analysis and develop Software Requirement Specification Sheet
(SRS) for suggested system.
Life Cycle
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.
3. 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.
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.
Problem Statement:
Output: NA
academic system.
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:
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:
Aggregation
An aggregation is a special case of an association (see above) meaning “consists of”:
Composition
Output :
Conclusion:
Problem Statement: Draw Object diagram for real time problem(Write Name of
your project).
Objectives:
Theory:
Object Diagrams are a type of UML diagram that show a snapshot of instances (objects) and
their relationships at a specific point in time.
Characteristics of Object diagram :
Based on the class diagram but focuses on object instances.
Useful for understanding system structure at runtime.
Shows real-world examples of how classes are instantiated
and connected.
Output:
Draw your object diagram based on your project
Conclusion:
Sample Viva Questions and Answers:
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.
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:
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.
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).
System boundary boxes
Instructions: NA Program: NA
Output:
Conclusion:
Q2.What is the difference between use case diagram and use case? Q3. What Is Generalization?
Roll No. Name of Student Date of Date of Grade Sign of Sign of Faculty
Performance Evaluation Student
EXPERIMENT NO.7
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.
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.
Output:
Draw E-R Diagram of your Project
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?
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
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
Output:
Conclusion:
Objectives: To understand the interactions between objects that are represented as lifelines in a
sequential order of a project using Sequence Diagram.
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..
Lifelines
Lifelines are vertical dashed lines that indicate the object's presence over time
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 :
Draw Sequence Diagram of your Project
Conclusion:
Theory:
Activity diagrams are the perfect UML solution for visualizing process flows.
Output: