Professional Documents
Culture Documents
Deep Learning - Lab Manual Format
Deep Learning - Lab Manual Format
Deep Learning - Lab Manual Format
LAB MANUAL
2CEIT502: Software Engineering
A.Y. 2023-2024
GANPAT UNIVERSITY
U.V. PATEL COLLEGE OF ENGINEERING
B. Tech Semester VII
Computer Engineering/ Information Technology
2CEIT502: Software Engineering
List of Experiments
Tools – Star UML –Word processing software like MS-Word, Open office etc.
Sr. Experiments CO
No Mapping
1 To study various Software development life cycle (SDLC) models prepare a report of their analysis 1
with answering given questions.
5 Identify the design principle that is being violated in relation to the given scenario. 3
6 To study about various Project Management Software (tools) available in the market. 4
9 To learn estimating techniques to estimate project parameters on a given case study using SE Vlabs 4
tool.
10 To prepare the test suite for a given case study on SE Vlab tool. 5
Course Outcomes:
CO1 Able to gain knowledge of different software development lifecycle models and able to apply it
CO2 Acquire knowledge of different analysis models and build according to software needs.
CO3 Gain the understanding of different approaches of requirement gathering, analysis, and documentation.
CO4 Get to know different coding and testing standards and methods to be used in industry for software projects
Practical-1
Aim: To study various Software development life cycle (SDLC) models
prepare a report of their analysis with answering given questions.
2. What is the difference between incremental process model and evolutionary process
model?
Incremental and evolutionary process models are both iterative approaches to software
development, but they differ in how they handle the development process and the scope
of changes made in each iteration. Here are the key differences between these two
models:
ii) Parallel Development: Unlike the sequential nature of the incremental model,
evolutionary development often involves parallel development of different parts
or features of the software.
iii) Exploration and Experimentation: This model is particularly useful when the
project requirements are not well-defined or are expected to change frequently. It
allows for exploration, experimentation, and adaptation based on user feedback.
iv) Minimal Viable Product (MVP): Evolutionary models often emphasize the
creation of a Minimal Viable Product (MVP) early in the process, which is a basic
version of the software with essential features to gather user feedback and validate
concepts.
vi) Continuous User Involvement: Users are actively involved throughout the
development process, providing feedback and shaping the software's evolution.
In summary, the incremental model follows a more structured, phased approach with
stable requirements and sequential increments, whereas the evolutionary model is more
flexible, adaptive, and responsive to changing requirements, often involving parallel
development and continuous user involvement. The choice between these models
depends on the project's nature, requirements, and the level of uncertainty and volatility in
the project environment.
3. Which model is more suitable for your capstone project-1? Why?
(Assumption: Blood Bank Management System)
The choice between the incremental and evolutionary models for your Blood Bank
Management System project would depend on several factors, including the project's
specific requirements, the level of uncertainty, and the needs of the stakeholders. Here's
an evaluation of both models in the context of a Blood Bank Management System:
iii) Limited Resources or Time Constraints: If you have resource or time constraints
and need to prioritize the development of critical functionalities first, the
incremental approach allows you to focus on building and delivering the most
important features first.
In conclusion, both models can be adapted to suit your Blood Bank Management System
project, but the choice depends on the nature of your requirements and the level of
flexibility and adaptability you need. If your requirements are stable and you want to
deliver the system in phases, the incremental model can work. However, if your
requirements are uncertain, and you want to continuously evolve the system based on user
feedback, the evolutionary model might be more appropriate. Consider the specific needs
and constraints of your project when making this decision.
4. State the parameters to choose suitable life cycle model for any system.
i) Project Requirements and Stability: The stability of project requirements: Are the
requirements well-defined and stable, or are they likely to change frequently?
Clarity of objectives: How clear are the project objectives, and is there a solid
understanding of what the system should accomplish?
ii) Project Size and Complexity: Project size: Is it a small, medium, or large-scale
project in terms of scope, budget, and resources?
Complexity: Does the project involve complex technologies, intricate integrations,
or regulatory compliance requirements?
iii) Project Timeline and Deadlines: Time constraints: Are there specific deadlines or
time-to-market pressures that must be met?
Project duration: How long is the project expected to last, and is it a short-term or
long-term endeavor?
iv) Budget and Resource Availability: Budget constraints: What financial resources
are available for the project?
Resource availability: What is the availability of skilled team members, tools, and
infrastructure?
v) Risk Tolerance: Risk assessment: What are the project's inherent risks, and how
tolerant is the organization to project risks?
Risk mitigation: Does the project require a model that allows for early
identification and mitigation of risks?
vi) User Involvement and Feedback: Stakeholder involvement: How actively do
stakeholders, including end-users, want to participate in the development process?
Feedback loops: Is there a need for continuous feedback and refinement based on
user input?
vii) Regulatory and Compliance Requirements: Industry-specific regulations: Does the
project need to adhere to specific regulatory standards or compliance
requirements?
viii) Flexibility and Adaptability: Change management: How open is the project to
accommodate changes in requirements or technology advancements?
Iterative development: Does the project benefit from an iterative approach that
allows for frequent adjustments?
ix) Quality and Testing:Quality assurance: How critical is the quality of the final
product, and what level of testing and validation is required?
x) Client or Stakeholder Expectations: Client preferences: What are the expectations
and preferences of the client or primary stakeholders?
Client involvement: Does the client have a specific model preference or industry-
standard preference?
xi) Previous Project Experience:Team expertise: What is the team's experience and
proficiency with different life cycle models?
Lessons learned: Are there lessons from previous projects that can influence the
choice of model?
xii) Technology and Tools: Available tools and technologies: What development tools
and technologies are available or preferred for the project?
xiii) Documentation and Deliverables:Documentation requirements: What level of
documentation is expected for the project, and how does it align with the chosen
model?
5. Which life cycle model is/are widely used in software industry nowadays?
Agile Model
It's important to note that the software industry is dynamic, and the popularity of life
cycle models can change over time. Furthermore, the choice of model often depends on
the nature of the project, the organization's culture, and the specific requirements of the
stakeholders.
To determine the most suitable life cycle model for a particular project, it's advisable to
conduct a thorough assessment of project requirements, constraints, and objectives, and
then select the model or combination of models that best align with those factors.
Additionally, it's a good practice to stay up-to-date with industry trends and adapt to new
methodologies as they emerge.
6. Give the comparison of all life cycle models based upon characteristics of different SDLC
models, fill the details with following options:
Practical-2
Aim: Implement back propagation from scratch and show the performance on any
dataset.
Code:
Output: