[go: up one dir, main page]

0% found this document useful (0 votes)
13 views5 pages

Software Engineering Assignment

Uploaded by

juliusalajani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views5 pages

Software Engineering Assignment

Uploaded by

juliusalajani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

SE_Day1

Software Engineering Day1 Assignment

#Part 1: Introduction to Software Engineering

Explain what software engineering is and discuss its importance in the technology industry.

Software engineering is the systematic application of real world solutions to real world and challenging
problems.It is useful in creation of real world applications

that helps in making modern world much more easier.

Identify and describe at least three key milestones in the evolution of software engineering.

1. Development of programming languages

2. Establishment of software as a discipline in 1960

3. The rise of agile technology in 2000s

List and briefly explain the phases of the Software Development Life Cycle.

1. Requirement: Knowing the need ad need assessment.

2. Design: Detailed design of the software is done.

3. Implemmentation: Buildiong the model by writing code to fit the design and optimization.

4. Testing: Various tests on the application and solutin developed.

5. Deployment: At this stage the idea implemented is being passed out to the public for usage.

6. Maintenance: to give support and update the exsiting model.


Compare and contrast the Waterfall and Agile methodologies. Provide examples of scenarios where
each would be appropriate.

Waterfall uses sequential approach with distint phases while Agile uses iterative approach which focus
on flexibilty and opened to changes

over time.

Describe the roles and responsibilities of a Software Developer, a Quality Assurance Engineer, and a
Project Manager in a software engineering team.

Softtware Developer: Writes the code and implement the idea and software

Quality Assurance Engineer: Ensure quality of codes written and execute plans and timely execution .

Project Manager: Planning, Execution and delivery of the project at he given timefram

Discuss the importance of Integrated Development Environments (IDEs) and Version Control Systems
(VCS) in the software development process. Give examples of each.

Integrated Development Environments (IDEs): Provides tools for writing debugging and testing codes
(Visual Video Code)

Version Control Systems(VCS): TRacts changes in soures and contol as well as means for keeping data of
engineerings for future references e.g Git, SubVersion

What are some common challenges faced by software engineers? Provide strategies to overcome these
challenges.

Challenges includes

1. Changes in ideas

2. changes in timeline for execution of project

3. Lack of resourecs

4. poor timeline for execution: Projects should be timed adequately to ensure quality work
Explain the different types of testing (unit, integration, system, and acceptance) and their importance in
software quality assurance.

1. Unit: Testng Individual Components or module

2. Integration: Testing with different component

3. System: Testing with the whole software system

4. Acceptance: Testing against users requirement

#Part 2: Introduction to AI and Prompt Engineering

Define prompt engineering and discuss its importance in interacting with AI models.

Prompt Enginnering is a wAY OF CRAFTING questions and prompts ti get the best possible answer for
the problem. This helps AI to process the prompt better

and provide the best possible answer for the problem

Provide an example of a vague prompt and then improve it by making it clear, specific, and concise.
Explain why the improved prompt is more effective.

hello, can you please give me comprehensive list of components need to design a simple solar driven
circuit
Day 2
# se-day-2-git-and-github

## Explain the fundamental concepts of version control and why GitHub is a popular tool for managing
versions of code. How does version control help in maintaining project integrity?

Version control is a system that tracks changes to files over time, allowing to record specific versions of
project, revert to previous versions, and collaborate with others. The main concepts include: merge
clone branch reposotion, branch and also commit

## Describe the process of setting up a new repository on GitHub. What are the key steps involved, and
what are some of the important decisions you need to make during this process?

Reposition is a function that helps to put the data of any user of Github the ability to showcase their
work to others. in creating this this repostion shouls be set on public and not private.

## Discuss the importance of the README file in a GitHub repository. What should be included in a well-
written README, and how does it contribute to effective collaboration?

The README offers a brief introduction to the project, explaining what it does, its purpose, and the
problems it solves for others to see

## Compare and contrast the differences between a public repository and a private repository on
GitHub. What are the advantages and disadvantages of each, particularly in the context of collaborative
projects?

Public allows oyjer people tpo see the work while private do not alllow that, the later need authorization
while the formal do not need that

## Detail the steps involved in making your first commit to a GitHub repository. What are commits, and
how do they help in tracking changes and managing different versions of your project?

Commits are fundamental to version control, enabling the user to track changes, manage different
versions of project, and collaborate effectively with others. They ensure that the project’s development
is organized, transparent, and reversible if need be to go back to a previous state

## How does branching work in Git, and why is it an important feature for collaborative development on
GitHub? Discuss the process of creating, using, and merging branches in a typical workflow.

Branching helps in sharing wprk with other people and ensuring effectivenes of work done
## Explore the role of pull requests in the GitHub workflow. How do they facilitate code review and
collaboration, and what are the typical steps involved in creating and merging a pull request?

Pull requests in GitHub involve creating a branch, making changes, opening a pull request for review and
discussion, addressing feedback, and merging the pull request into the main branch once approved.

## Discuss the concept of "forking" a repository on GitHub. How does forking differ from cloning, and
what are some scenarios where forking would be particularly useful?

Forking a repository on GitHub creates a personal copy of someone else’s repository under one GitHub
account. This allows user to experiment, make changes, and build upon the original project without
affecting the original repository.

Cloning copies the repository to the local machine, where one can work on it. but the cloned repository
isn’t automatically linked to GitHub account or the original repository

## Reflect on common challenges and best practices associated with using GitHub for version control.
What are some common pitfalls new users might encounter, and what strategies can be employed to
overcome them and ensure smooth collaboration?

Common challenges new GitHub users might encounter include managing merge conflicts,
understanding branching, and maintaining commit quality, which can be overcome by adopting best
practices like regular communication, clear commit messages, and consistent branching strategies to
ensure smooth collaboration.

You might also like