Software Engineering Ngit
Software Engineering Ngit
1->Saq's
2-> Laq's
PDF: Hello and welcome to this helpful PDF file on Introduction to Software
Engineering! In this document , you will learn about the generic view of software
engineering processes, different process models, the a gile view of processes,
and the development, maintenance, and evolution of software.
PDF: The personal process model, such as the Personal Software Process
(PSP), is tailored to individual developers, focusing on activities like planning,
design, and post-mortem. In contrast, the team process m odel, like the Team
Software Process (TSP), is designed for groups of 3-20 engineers, emphasizing
self-d irected teams, high-quality software production, and adherence to process
standards through activities lik e launch, design, implementation, and
integration.
Me: Describe the phases in unified process model? in 40 words
PDF: The Unified Process Model consists of four phases: Inception, Elaboration,
Construction, and Transi tion. The Inception Phase involves customer
communication and planning, the Elaboration Phase focuses on planning and
modeling, the Construction Phase involves coding and testing, and the
Transition Phase
PDF: 1. Listen actively: Focus on the speaker’s words and ask for clarification
when needed.
2. Prepare before communicating: Understand the problem and, if leading a
meeting, prepare an agenda. 3. Facilitate discussions: Assign a leader to keep
conversations productive, mediate conflicts, and ensure adherence to
communication principles.
PDF: The framework activities in the Spiral Model include: Planning, Risk
Analysis, Engineering, Evaluati on, and Communication. These activities are
repeated in a series of iterations, with each iteration resultin
1. Scrum: Scrum stands as one of the most popular and widely implemented
Agile methodologies. It is characterized by short cycles of development
known as Sprints and emphasizes collaboration, continuous feedback, and
iterative improvement.
2. Extreme Programming (XP): This model is particularly focused on
enhancing software quality and responsiveness to changing customer
requirements. XP incorporates practices such as pair programming, test-
driven development, and continuous integration.
3. Lean Software Development: Inspired by lean manufacturing practices,
this approach emphasizes optimizing efficiency by eliminating waste,
amplifying learning, and delivering as fast as possible.
4. Kanban: Kanban is more of a visual method to manage the creation of
products with an emphasis on continuous delivery without overburdening
the development team.
5. Feature Driven Development (FDD): This model is driven by feature-value
delivery and is well-suited for larger teams working on a project primarily in
object-oriented technology.
Scrum Model Activities: The Scrum model is distinguished by its specific roles,
ceremonies, and artifacts. It operates on the principle of empirical process
control, where decision-making is based on observation and experimentation
rather than detailed upfront planning.
1. Sprint Planning: This is the phase where the team decides what to
accomplish in the upcoming sprint.
2. Daily Stand-up (Daily Scrum): A brief, daily meeting (typically 15 minutes)
where team members synchronize their activities and plan for the next 24
hours.
3. Sprint Review: At the end of each sprint, the team demonstrates the
completed work to stakeholders and discusses what was accomplished.
4. Sprint Retrospective: After the review, the team reflects on the sprint. This
is a key part of continuous improvement in Scrum.
Roles in Scrum:
Artifacts of Scrum:
In conclusion, Agile models, with Scrum at the forefront, offer a dynamic and
flexible approach to software development, emphasizing customer satisfaction,
team collaboration, and the ability to respond to change rapidly. Scrum, with its
structured yet adaptable framework, has become a cornerstone methodology in
Agile practices, proving effective in various environments, from small startups to
large-scale enterprises.
1. World View: This is the highest level in the system engineering hierarchy. It
involves understanding the global context of the system, including the
broader business or technological environment in which the system will
operate. This phase is about grasping the big picture and understanding
external factors that might influence the system.
2. Domain Analysis: Once the world view is established, the focus narrows
down to a specific domain of interest. This involves a deeper dive into the
particular area the system will address, understanding the specific
challenges and opportunities within this domain.
3. System Elements Analysis: This phase involves dissecting the system
into its constituent elements, which could include data, software, hardware,
and people. Each of these elements is analyzed in terms of how they will
interact with each other and contribute to the overall functioning of the
system.
4. Design and Construction: The final stage in the hierarchy involves the
actual design and construction of the system. This is where all the insights
and analyses from the previous stages are synthesized into a coherent,
functional system. The design phase translates the requirements and
specifications into detailed blueprints, while the construction phase involves
building the actual system based on these designs.
Key Considerations in System Engineering Hierarchy:
Information Strategy Planning (ISP): This is the first step where strategic
business goals are identified. The success factors and business rules are
defined, guiding the entire BPE process.
Analyzing Current Business Processes: A thorough analysis of existing
business processes to identify areas of improvement.
Designing New Processes: Based on the analysis, new processes are
designed to improve efficiency, quality, service, and speed.
Implementing Changes: This involves the actual deployment of
redesigned processes, often requiring changes in organizational structure,
employee roles, and technology systems.
Monitoring and Continuously Improving: After implementation,
continuous monitoring is necessary to ensure the processes are effective
and to make ongoing improvements.
1. Use Cases: These are detailed narratives that describe the interactions
between users (actors) and the system to achieve specific goals. Use cases
help in understanding the requirements from the user’s perspective and
guide the development team in building functionalities that meet actual user
needs.
2. Activity Diagrams: These diagrams visually represent the flow of activities
involved in a particular process or use case. They help in illustrating the
sequence of actions and decision points, providing a clear view of the
system’s behavior.
3. Swim Lane Diagrams: These are used to show how different actors (or
systems) interact in a process. Each lane represents an actor or a system
component, and the diagrams show how activities flow between these
lanes.
Creating comprehensive scenarios that cover all possible use cases can be
time-consuming.
Scenarios need to be updated continuously as the project evolves, which
requires ongoing effort and coordination.
->
Question 7: Describe about System Engineering
Hierarchy.
Expanded Answer:
1. World View: The top level of system engineering begins with understanding
the broader context or 'world view.' This stage involves a comprehensive
examination of the business or product domain, ensuring that the proper
context for technology and business requirements is established. It’s about
grasping the big picture and identifying external factors that might influence
the system.
2. Domain Analysis: Once the world view is established, the focus shifts to a
more specific domain of interest. This involves deeper exploration into the
particular area the system will address, understanding the unique
challenges and opportunities within this domain.
3. Targeted System Elements: This stage involves breaking down the
system into its constituent elements, such as data, software (S/W),
hardware (H/W), and people. Each of these elements is analyzed in terms
of how they contribute to and interact within the overall system.
4. Design and Construction: The final phase in the hierarchy is where the
actual design and construction of the system take place. This involves
translating the requirements and analyses from previous stages into a
functional, operational system. The design phase converts these
requirements into detailed blueprints, while the construction phase is about
building the actual system as per these designs.
Key Aspects:
1. Planning: The planning phase in XP starts with creating user stories, which
are simple descriptions of a feature told from the perspective of the user.
These stories help in understanding the requirements and form the basis of
the development process.
2. Design: XP promotes a simple yet effective design strategy. The principle of
"Keep It Simple" (KIS) is fundamental in this phase. The use of Class-
Responsibility-Collaborator (CRC) cards is encouraged to identify and
organize object-oriented classes. The design phase is iterative, and
changes are welcome based on the feedback.
3. Coding: XP emphasizes the importance of writing clean, simple, and
understandable code. Pair programming, where two programmers work
together at one workstation, is a common practice. Continuous integration
and frequent small releases are key aspects of this phase.
4. Testing: In XP, testing is not a separate phase but is integrated throughout
the development process. Test-driven development (TDD) is a core practice
where tests are written before the code itself. This ensures that the code
meets its intended purpose from the beginning.
Principles of XP: