This document outlines the syllabus for a Software Engineering course. It includes 3 modules - an introduction to software engineering, teamwork, and customers/users. For each module, it lists the intended learning outcomes, assessment tools (exams, assignments), and whether the assessments are formative or summative. It provides details on the topics to be covered in each module such as the Agile manifesto, principles of Agile development, roles in Agile teams, and integrating user-centered design into Agile development. The document also describes the structure of "business days" where student teams present their work, receive feedback, and plan future iterations.
Building Sustainable Software: An Introduction to Software EngineeringMuhammad Shehata
Introduction to software engineering and project management methodologies like Waterfall and Agile. In addition to discussing some practices and tools like Version Control Systems, CI/CD, Code reviews and testing strategies.
- Agile values and manifesto
- Scrum in details
- Themes, epics, and user stories
- Combining and splitting user stories.
- What could go wrong in Scrum and why?
- Overview in Other Agile methodologies:
- XP Agile Methodology
- KanBan Agile Methodology.
The document provides an overview of an agile revision course contents including:
1. Agile principles, values, and methodologies like Scrum.
2. Details of Scrum like sprint timeline and activities, product backlog, user stories, and measuring productivity.
3. Comparison of Scrum to other agile methodologies and what could go wrong and how to fix issues.
The document discusses key aspects of Agile software development including the Agile Manifesto, values, principles, practices, and approaches. It describes that the Agile Manifesto was created in 2001 and emphasizes individuals, working software, customer collaboration, and responding to change. Common Agile practices mentioned include daily stand-ups, early feedback, user story creation, retrospectives, and continuous integration. Specific Agile approaches like Scrum, Kanban, and Extreme Programming are also summarized.
Managing a team and project are quite synonymous. Especially, teams require effective distribution of responsibility / roles. Once that is setup, a proper process guides people to make progress. All this fits into a product lifecycle, which is essential to develop the right product, in the right way, and deliver it at the right time.
Changing landscape of software project managementPramesh Vaidya
This document provides an overview of project management and the changing landscape of software project management. It defines what a project is and what project management entails. It then discusses traditional sequential models like waterfall and more iterative models like spiral and agile. Agile practices are based on values like collaboration, working software, responding to change. Specific agile frameworks like Scrum and Kanban are covered. The document also discusses challenges of scaling agile and approaches like SAFe, Nexus and LeSS. It concludes by noting the transformation in project management tools.
Topic: UI/UX DESIGN IN AGILE PROCESS
Why do we integrate design into our Agile process?
As we all know, the Agile Manifesto is well-received and successfully adopted as it is today thanks to the 12 underpinning principles. While “good design” is one main reason that “enhances agility”, “Agile processes promote sustainable development”.
At Axon Active, it’s important for us to do everything Agile and work with one another collaboratively in Collaboration Model. It gets people on the same page, makes everyone engage more with the product, encourages them to share more creative ideas, and gives them the flexibility they need to improve themselves.
Indeed, Designers and Developers can collaborate more closely and effectively, and subsequently integrating design into Agile process will yield numerous benefits.
For that reason, Scrum Breakfast Da Nang this October will be the very chance for you to learn:
• How to successfully integrate design into Agile process in practice
• How different Collaboration Model is from traditional model
• The benefits of Collaboration Model when done correctly
Building Sustainable Software: An Introduction to Software EngineeringMuhammad Shehata
Introduction to software engineering and project management methodologies like Waterfall and Agile. In addition to discussing some practices and tools like Version Control Systems, CI/CD, Code reviews and testing strategies.
- Agile values and manifesto
- Scrum in details
- Themes, epics, and user stories
- Combining and splitting user stories.
- What could go wrong in Scrum and why?
- Overview in Other Agile methodologies:
- XP Agile Methodology
- KanBan Agile Methodology.
The document provides an overview of an agile revision course contents including:
1. Agile principles, values, and methodologies like Scrum.
2. Details of Scrum like sprint timeline and activities, product backlog, user stories, and measuring productivity.
3. Comparison of Scrum to other agile methodologies and what could go wrong and how to fix issues.
The document discusses key aspects of Agile software development including the Agile Manifesto, values, principles, practices, and approaches. It describes that the Agile Manifesto was created in 2001 and emphasizes individuals, working software, customer collaboration, and responding to change. Common Agile practices mentioned include daily stand-ups, early feedback, user story creation, retrospectives, and continuous integration. Specific Agile approaches like Scrum, Kanban, and Extreme Programming are also summarized.
Managing a team and project are quite synonymous. Especially, teams require effective distribution of responsibility / roles. Once that is setup, a proper process guides people to make progress. All this fits into a product lifecycle, which is essential to develop the right product, in the right way, and deliver it at the right time.
Changing landscape of software project managementPramesh Vaidya
This document provides an overview of project management and the changing landscape of software project management. It defines what a project is and what project management entails. It then discusses traditional sequential models like waterfall and more iterative models like spiral and agile. Agile practices are based on values like collaboration, working software, responding to change. Specific agile frameworks like Scrum and Kanban are covered. The document also discusses challenges of scaling agile and approaches like SAFe, Nexus and LeSS. It concludes by noting the transformation in project management tools.
Topic: UI/UX DESIGN IN AGILE PROCESS
Why do we integrate design into our Agile process?
As we all know, the Agile Manifesto is well-received and successfully adopted as it is today thanks to the 12 underpinning principles. While “good design” is one main reason that “enhances agility”, “Agile processes promote sustainable development”.
At Axon Active, it’s important for us to do everything Agile and work with one another collaboratively in Collaboration Model. It gets people on the same page, makes everyone engage more with the product, encourages them to share more creative ideas, and gives them the flexibility they need to improve themselves.
Indeed, Designers and Developers can collaborate more closely and effectively, and subsequently integrating design into Agile process will yield numerous benefits.
For that reason, Scrum Breakfast Da Nang this October will be the very chance for you to learn:
• How to successfully integrate design into Agile process in practice
• How different Collaboration Model is from traditional model
• The benefits of Collaboration Model when done correctly
This document discusses agile software development processes. It outlines some common reasons for challenged, failed, and successful projects. Some key problems with the traditional waterfall model are that mistakes are hard to find early on and requirements often change. The document then introduces agile concepts like iterative development, test-driven development, extreme programming, scrum, and their benefits like producing working software earlier, adapting to change, and improved communication.
The document discusses various software development methodologies including Agile, Scrum, XP, Kanban, Lean, Crystal, DSDM, FDD, V-Model, Incremental Model, Evolutionary Prototyping, Cowboy Coding, and Personal Software Process. It describes how each methodology works, the roles involved, advantages and disadvantages. For example, it states that Agile is responsive to market changes, Scrum uses sprints, planning meetings and burndown charts, and Cowboy Coding lacks structure but allows for experimentation.
The document discusses agile methodology and its core principles. It defines agile as an incremental, iterative approach that values frequent delivery of working software and responsiveness to change. The document outlines traditional software development models like waterfall and spiral, then introduces the agile manifesto and its emphasis on individuals, collaboration, customer feedback and responding to change. It describes various agile roles, practices like scrum and XP, and the overall process of organizing work into short iterations to deliver working software.
The document discusses the concept of a "holistic programmer" who takes a whole-team approach. A holistic programmer sees the big picture even when working on parts, communicates well with the team, and shares responsibility. The challenges of seeing the whole picture while minding details and having business and technical people understand each other are addressed. The solutions involve generalizing specialists who learn new skills, taking responsibility for multiple tasks, and processes like "ready-ready" and "done-done" that improve communication. The holistic programmer aims to foster team learning and get better through communication and inspection/adaptation.
This document provides an overview of agile practices for product management. It begins with definitions of agile and its principles, which emphasize iterative development, collaboration between teams, and frequent delivery of working software. The document then outlines the typical agile procedure, including sprints, iterations, and product backlogs. It discusses various roles like product owners, coaches, and designers. It also covers practices for effective meetings, prioritizing work, designing user stories, testing, and ensuring quality through continuous delivery.
The Agile model emphasizes small incremental releases with frequent testing. The entire development team, including developers, testers, managers, and customers, work closely together in daily meetings over short 1-4 week sprints. Agile methods like Scrum and Extreme Programming use open communication to gather feedback. Advantages include rapid delivery of useful software and collaboration between customers and developers. Disadvantages can include lack of clarity on project goals.
This document provides an overview of process models and agile development approaches. It discusses the Unified Process (UP) and its phases including inception, elaboration, and more. Agile methods like Scrum and Extreme Programming (XP) are also summarized. Scrum uses sprints, daily stand-ups, sprint reviews and retrospectives. XP practices pair programming, test-driven development, and frequent small releases. The document emphasizes that agile prioritizes individuals, working software, customer collaboration and responding to change over processes and tools.
Essence of agile gives flavor of Agile and its core principles, highlighting how it can give real time benefits. I developed this asset, based on my certified knowledge and my years of experience in handling Agile projects, transitioning from waterfall to Agile and transforming business.Best used for 1 day workshop.
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...UXPA Boston
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Your Agile Process
Mark Ferencik's presentation from the UXPA Boston 2016 Conference
The document provides an introduction to agile software development processes. It discusses the waterfall model and iterative and incremental model. It then defines agile as a collection of iterative development methodologies that are lightweight and value individuals, interactions, working software, and responding to change. The document outlines agile principles and practices like user stories, story points, test-driven development, pair programming, daily stand-up meetings, story boards, burn down charts, continuous integration, and retrospectives. It concludes with feedback from an agile team noting benefits like earlier defect detection but also challenges in applying new techniques and lack of product management involvement.
The document provides an overview of agile methodologies. It defines agile as an iterative project management approach using short development cycles called sprints. The core values of agile according to the Agile Manifesto are prioritizing individuals, working software, customer collaboration, and responding to change. Key aspects of agile include sprint planning, daily standup meetings, user stories, acceptance criteria, product and sprint backlogs, and retrospectives. Popular agile frameworks are Scrum, Kanban, and lean.
This document outlines the course objectives and units for a Project Management course. The course aims to develop skills for planning, managing, and delivering successful software projects. The key objectives are to manage projects through each stage of the software development life cycle, learn activity planning and risk management, and deliver projects that support organizational goals. The first unit covers project evaluation, planning, methodologies, objectives setting, risk evaluation, and stepwise project planning. It includes topics such as importance of software project management, project portfolio management, and cost-benefit evaluation.
This document outlines the course objectives and units for a Project Management course. The course aims to teach students to plan, manage, and deliver successful software projects throughout the software development lifecycle. The first unit covers evaluating and planning projects, including importance of project management, methodologies, project categorization, setting objectives, risk evaluation, and stepwise project planning. Additional details are provided on project phases, stakeholders, management skills, and challenges with software projects.
The document discusses various aspects of the design process for interactive systems, including design rules, usability engineering, and iterative design. It provides an overview of different types of design rules such as principles, standards, and guidelines. Specific examples of design rules like learnability, flexibility, and robustness are mentioned. Ben Shneiderman's eight golden rules of interface design are also summarized, which include consistency, informative feedback, error handling, and reducing memory load.
Extreme Programming (XP) is an agile software development framework that aims to improve quality and developer satisfaction. It utilizes frequent small releases, customer collaboration, simple designs, testing automation, pair programming, and other practices. The core values of XP include communication, simplicity, feedback, courage, and respect. Some key practices are planning games, small releases, testing, refactoring, pair programming, on-site customers, and continuous integration. XP focuses on rapid feedback and continuous improvement through its values and lightweight practices.
Null Bangalore | Pentesters Approach to AWS IAMDivyanshu
#Abstract:
- Learn more about the real-world methods for auditing AWS IAM (Identity and Access Management) as a pentester. So let us proceed with a brief discussion of IAM as well as some typical misconfigurations and their potential exploits in order to reinforce the understanding of IAM security best practices.
- Gain actionable insights into AWS IAM policies and roles, using hands on approach.
#Prerequisites:
- Basic understanding of AWS services and architecture
- Familiarity with cloud security concepts
- Experience using the AWS Management Console or AWS CLI.
- For hands on lab create account on [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
# Scenario Covered:
- Basics of IAM in AWS
- Implementing IAM Policies with Least Privilege to Manage S3 Bucket
- Objective: Create an S3 bucket with least privilege IAM policy and validate access.
- Steps:
- Create S3 bucket.
- Attach least privilege policy to IAM user.
- Validate access.
- Exploiting IAM PassRole Misconfiguration
-Allows a user to pass a specific IAM role to an AWS service (ec2), typically used for service access delegation. Then exploit PassRole Misconfiguration granting unauthorized access to sensitive resources.
- Objective: Demonstrate how a PassRole misconfiguration can grant unauthorized access.
- Steps:
- Allow user to pass IAM role to EC2.
- Exploit misconfiguration for unauthorized access.
- Access sensitive resources.
- Exploiting IAM AssumeRole Misconfiguration with Overly Permissive Role
- An overly permissive IAM role configuration can lead to privilege escalation by creating a role with administrative privileges and allow a user to assume this role.
- Objective: Show how overly permissive IAM roles can lead to privilege escalation.
- Steps:
- Create role with administrative privileges.
- Allow user to assume the role.
- Perform administrative actions.
- Differentiation between PassRole vs AssumeRole
Try at [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
This document discusses agile software development processes. It outlines some common reasons for challenged, failed, and successful projects. Some key problems with the traditional waterfall model are that mistakes are hard to find early on and requirements often change. The document then introduces agile concepts like iterative development, test-driven development, extreme programming, scrum, and their benefits like producing working software earlier, adapting to change, and improved communication.
The document discusses various software development methodologies including Agile, Scrum, XP, Kanban, Lean, Crystal, DSDM, FDD, V-Model, Incremental Model, Evolutionary Prototyping, Cowboy Coding, and Personal Software Process. It describes how each methodology works, the roles involved, advantages and disadvantages. For example, it states that Agile is responsive to market changes, Scrum uses sprints, planning meetings and burndown charts, and Cowboy Coding lacks structure but allows for experimentation.
The document discusses agile methodology and its core principles. It defines agile as an incremental, iterative approach that values frequent delivery of working software and responsiveness to change. The document outlines traditional software development models like waterfall and spiral, then introduces the agile manifesto and its emphasis on individuals, collaboration, customer feedback and responding to change. It describes various agile roles, practices like scrum and XP, and the overall process of organizing work into short iterations to deliver working software.
The document discusses the concept of a "holistic programmer" who takes a whole-team approach. A holistic programmer sees the big picture even when working on parts, communicates well with the team, and shares responsibility. The challenges of seeing the whole picture while minding details and having business and technical people understand each other are addressed. The solutions involve generalizing specialists who learn new skills, taking responsibility for multiple tasks, and processes like "ready-ready" and "done-done" that improve communication. The holistic programmer aims to foster team learning and get better through communication and inspection/adaptation.
This document provides an overview of agile practices for product management. It begins with definitions of agile and its principles, which emphasize iterative development, collaboration between teams, and frequent delivery of working software. The document then outlines the typical agile procedure, including sprints, iterations, and product backlogs. It discusses various roles like product owners, coaches, and designers. It also covers practices for effective meetings, prioritizing work, designing user stories, testing, and ensuring quality through continuous delivery.
The Agile model emphasizes small incremental releases with frequent testing. The entire development team, including developers, testers, managers, and customers, work closely together in daily meetings over short 1-4 week sprints. Agile methods like Scrum and Extreme Programming use open communication to gather feedback. Advantages include rapid delivery of useful software and collaboration between customers and developers. Disadvantages can include lack of clarity on project goals.
This document provides an overview of process models and agile development approaches. It discusses the Unified Process (UP) and its phases including inception, elaboration, and more. Agile methods like Scrum and Extreme Programming (XP) are also summarized. Scrum uses sprints, daily stand-ups, sprint reviews and retrospectives. XP practices pair programming, test-driven development, and frequent small releases. The document emphasizes that agile prioritizes individuals, working software, customer collaboration and responding to change over processes and tools.
Essence of agile gives flavor of Agile and its core principles, highlighting how it can give real time benefits. I developed this asset, based on my certified knowledge and my years of experience in handling Agile projects, transitioning from waterfall to Agile and transforming business.Best used for 1 day workshop.
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...UXPA Boston
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Your Agile Process
Mark Ferencik's presentation from the UXPA Boston 2016 Conference
The document provides an introduction to agile software development processes. It discusses the waterfall model and iterative and incremental model. It then defines agile as a collection of iterative development methodologies that are lightweight and value individuals, interactions, working software, and responding to change. The document outlines agile principles and practices like user stories, story points, test-driven development, pair programming, daily stand-up meetings, story boards, burn down charts, continuous integration, and retrospectives. It concludes with feedback from an agile team noting benefits like earlier defect detection but also challenges in applying new techniques and lack of product management involvement.
The document provides an overview of agile methodologies. It defines agile as an iterative project management approach using short development cycles called sprints. The core values of agile according to the Agile Manifesto are prioritizing individuals, working software, customer collaboration, and responding to change. Key aspects of agile include sprint planning, daily standup meetings, user stories, acceptance criteria, product and sprint backlogs, and retrospectives. Popular agile frameworks are Scrum, Kanban, and lean.
This document outlines the course objectives and units for a Project Management course. The course aims to develop skills for planning, managing, and delivering successful software projects. The key objectives are to manage projects through each stage of the software development life cycle, learn activity planning and risk management, and deliver projects that support organizational goals. The first unit covers project evaluation, planning, methodologies, objectives setting, risk evaluation, and stepwise project planning. It includes topics such as importance of software project management, project portfolio management, and cost-benefit evaluation.
This document outlines the course objectives and units for a Project Management course. The course aims to teach students to plan, manage, and deliver successful software projects throughout the software development lifecycle. The first unit covers evaluating and planning projects, including importance of project management, methodologies, project categorization, setting objectives, risk evaluation, and stepwise project planning. Additional details are provided on project phases, stakeholders, management skills, and challenges with software projects.
The document discusses various aspects of the design process for interactive systems, including design rules, usability engineering, and iterative design. It provides an overview of different types of design rules such as principles, standards, and guidelines. Specific examples of design rules like learnability, flexibility, and robustness are mentioned. Ben Shneiderman's eight golden rules of interface design are also summarized, which include consistency, informative feedback, error handling, and reducing memory load.
Extreme Programming (XP) is an agile software development framework that aims to improve quality and developer satisfaction. It utilizes frequent small releases, customer collaboration, simple designs, testing automation, pair programming, and other practices. The core values of XP include communication, simplicity, feedback, courage, and respect. Some key practices are planning games, small releases, testing, refactoring, pair programming, on-site customers, and continuous integration. XP focuses on rapid feedback and continuous improvement through its values and lightweight practices.
Null Bangalore | Pentesters Approach to AWS IAMDivyanshu
#Abstract:
- Learn more about the real-world methods for auditing AWS IAM (Identity and Access Management) as a pentester. So let us proceed with a brief discussion of IAM as well as some typical misconfigurations and their potential exploits in order to reinforce the understanding of IAM security best practices.
- Gain actionable insights into AWS IAM policies and roles, using hands on approach.
#Prerequisites:
- Basic understanding of AWS services and architecture
- Familiarity with cloud security concepts
- Experience using the AWS Management Console or AWS CLI.
- For hands on lab create account on [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
# Scenario Covered:
- Basics of IAM in AWS
- Implementing IAM Policies with Least Privilege to Manage S3 Bucket
- Objective: Create an S3 bucket with least privilege IAM policy and validate access.
- Steps:
- Create S3 bucket.
- Attach least privilege policy to IAM user.
- Validate access.
- Exploiting IAM PassRole Misconfiguration
-Allows a user to pass a specific IAM role to an AWS service (ec2), typically used for service access delegation. Then exploit PassRole Misconfiguration granting unauthorized access to sensitive resources.
- Objective: Demonstrate how a PassRole misconfiguration can grant unauthorized access.
- Steps:
- Allow user to pass IAM role to EC2.
- Exploit misconfiguration for unauthorized access.
- Access sensitive resources.
- Exploiting IAM AssumeRole Misconfiguration with Overly Permissive Role
- An overly permissive IAM role configuration can lead to privilege escalation by creating a role with administrative privileges and allow a user to assume this role.
- Objective: Show how overly permissive IAM roles can lead to privilege escalation.
- Steps:
- Create role with administrative privileges.
- Allow user to assume the role.
- Perform administrative actions.
- Differentiation between PassRole vs AssumeRole
Try at [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...shadow0702a
This document serves as a comprehensive step-by-step guide on how to effectively use PyCharm for remote debugging of the Windows Subsystem for Linux (WSL) on a local Windows machine. It meticulously outlines several critical steps in the process, starting with the crucial task of enabling permissions, followed by the installation and configuration of WSL.
The guide then proceeds to explain how to set up the SSH service within the WSL environment, an integral part of the process. Alongside this, it also provides detailed instructions on how to modify the inbound rules of the Windows firewall to facilitate the process, ensuring that there are no connectivity issues that could potentially hinder the debugging process.
The document further emphasizes on the importance of checking the connection between the Windows and WSL environments, providing instructions on how to ensure that the connection is optimal and ready for remote debugging.
It also offers an in-depth guide on how to configure the WSL interpreter and files within the PyCharm environment. This is essential for ensuring that the debugging process is set up correctly and that the program can be run effectively within the WSL terminal.
Additionally, the document provides guidance on how to set up breakpoints for debugging, a fundamental aspect of the debugging process which allows the developer to stop the execution of their code at certain points and inspect their program at those stages.
Finally, the document concludes by providing a link to a reference blog. This blog offers additional information and guidance on configuring the remote Python interpreter in PyCharm, providing the reader with a well-rounded understanding of the process.
Software Engineering and Project Management - Introduction, Modeling Concepts...Prakhyath Rai
Introduction, Modeling Concepts and Class Modeling: What is Object orientation? What is OO development? OO Themes; Evidence for usefulness of OO development; OO modeling history. Modeling
as Design technique: Modeling, abstraction, The Three models. Class Modeling: Object and Class Concept, Link and associations concepts, Generalization and Inheritance, A sample class model, Navigation of class models, and UML diagrams
Building the Analysis Models: Requirement Analysis, Analysis Model Approaches, Data modeling Concepts, Object Oriented Analysis, Scenario-Based Modeling, Flow-Oriented Modeling, class Based Modeling, Creating a Behavioral Model.
Advanced control scheme of doubly fed induction generator for wind turbine us...IJECEIAES
This paper describes a speed control device for generating electrical energy on an electricity network based on the doubly fed induction generator (DFIG) used for wind power conversion systems. At first, a double-fed induction generator model was constructed. A control law is formulated to govern the flow of energy between the stator of a DFIG and the energy network using three types of controllers: proportional integral (PI), sliding mode controller (SMC) and second order sliding mode controller (SOSMC). Their different results in terms of power reference tracking, reaction to unexpected speed fluctuations, sensitivity to perturbations, and resilience against machine parameter alterations are compared. MATLAB/Simulink was used to conduct the simulations for the preceding study. Multiple simulations have shown very satisfying results, and the investigations demonstrate the efficacy and power-enhancing capabilities of the suggested control system.
Rainfall intensity duration frequency curve statistical analysis and modeling...bijceesjournal
Using data from 41 years in Patna’ India’ the study’s goal is to analyze the trends of how often it rains on a weekly, seasonal, and annual basis (1981−2020). First, utilizing the intensity-duration-frequency (IDF) curve and the relationship by statistically analyzing rainfall’ the historical rainfall data set for Patna’ India’ during a 41 year period (1981−2020), was evaluated for its quality. Changes in the hydrologic cycle as a result of increased greenhouse gas emissions are expected to induce variations in the intensity, length, and frequency of precipitation events. One strategy to lessen vulnerability is to quantify probable changes and adapt to them. Techniques such as log-normal, normal, and Gumbel are used (EV-I). Distributions were created with durations of 1, 2, 3, 6, and 24 h and return times of 2, 5, 10, 25, and 100 years. There were also mathematical correlations discovered between rainfall and recurrence interval.
Findings: Based on findings, the Gumbel approach produced the highest intensity values, whereas the other approaches produced values that were close to each other. The data indicates that 461.9 mm of rain fell during the monsoon season’s 301st week. However, it was found that the 29th week had the greatest average rainfall, 92.6 mm. With 952.6 mm on average, the monsoon season saw the highest rainfall. Calculations revealed that the yearly rainfall averaged 1171.1 mm. Using Weibull’s method, the study was subsequently expanded to examine rainfall distribution at different recurrence intervals of 2, 5, 10, and 25 years. Rainfall and recurrence interval mathematical correlations were also developed. Further regression analysis revealed that short wave irrigation, wind direction, wind speed, pressure, relative humidity, and temperature all had a substantial influence on rainfall.
Originality and value: The results of the rainfall IDF curves can provide useful information to policymakers in making appropriate decisions in managing and minimizing floods in the study area.
An improved modulation technique suitable for a three level flying capacitor ...IJECEIAES
This research paper introduces an innovative modulation technique for controlling a 3-level flying capacitor multilevel inverter (FCMLI), aiming to streamline the modulation process in contrast to conventional methods. The proposed
simplified modulation technique paves the way for more straightforward and
efficient control of multilevel inverters, enabling their widespread adoption and
integration into modern power electronic systems. Through the amalgamation of
sinusoidal pulse width modulation (SPWM) with a high-frequency square wave
pulse, this controlling technique attains energy equilibrium across the coupling
capacitor. The modulation scheme incorporates a simplified switching pattern
and a decreased count of voltage references, thereby simplifying the control
algorithm.
2. Syllabus Intended Learning Outcomes [ILOs]
reflecting domain specific
knowledge, cognitive skills and
non-cognitive skills.
(At the end of the module, students
will be able to …..)
Assessment Tools
(including Sessionals
and Prefinals)
Formative /
Summative
(at least one
formative
assessment
for a module)
Module - 01
Overview, Objectives,Three Perspectives on Software
Engineering , The Agile Manifesto, Principles of Agile,
Application of Agile Software Development
Teamwork: Overview, Objectives, A Role Scheme in
Agile Teams, Remarks on the Implementation of the
Role Scheme, Human Perspective on the Role Scheme,
Using the Role Scheme to Scale Agile Projects,
Dilemmas in Teamwork, Teamwork in Learning
Environments, Teaching and Learning Principles
Customers and Users: Overview, Objectives, The
Customer, Customer Role, Customer Collaboration, The
User, Combining UCD with Agile Development,
Customers and Users in
Learning Environments, Teaching and Learning
Principles, Customer Stories.
1.Describe the Agile manifesto and
its principles. *
2.Relate the principles of Agile to the
existing SD environment. *
3.Explain the various Agile methods
in SD. *
4.List out the objectives of
Teamwork. *
5.Explain about refactoring in an
Agile environment.*
6.Give the Pros and Cons of Pair
Programming technique in Agile
methods.*
MCQ 1
Sessional Exam
Pre Final Exam
FA
SA
SA
3. Syllabus Intended Learning Outcomes [ILOs]
reflecting domain specific
knowledge, cognitive skills and
non-cognitive skills.
(At the end of the module, students
will be able to …..)
Assessment Tools
(including Sessionals
and Prefinals)
Formative /
Summative
(at least one
formative
assessment
for a module)
SOFTWARE DESIGN:
• Design Diagrams: Use Case Diagrams - Class
Diagrams - Interaction Diagrams - State chart
Diagrams - Activity Diagrams
• Design Process- Design concepts : Abstraction,
Architecture, patterns, Separation of Concerns,
Modularity, Information Hiding, Functional
Independence, Refinement, Aspects, Refactoring.
• Object Oriented Design Concepts, Design Classes-
Design Model: Data, Architectural,
Interface, Component, Deployment Level Design
Elements ,
• Code review Analysis.
1.Design State chart diagramS
1.Design Use Case Diagrams
1.Design Interaction Diagrams
1.Design Activity Diagrams
MCQ 1
Sessional Exam
Pre Final Exam
FA
SA
SA
4. Software Engineering
Software engineering is the profession
that applies scientific knowledge in the
construction of software products needed
by customers that are:
1) on time
2) on budget
3) with acceptable performance
4) with correct operation
9. Software Industry
Problems
➔ Coping with change
➔ Software quality Management
of software projects
Solution
➔ Agile development -- enhances
and supports diversity
Outcome
➔ Better processes
10. Three perspectives of Software Engineering
❖ The Human perspective
➢ cognitive and social aspects
➢ Refers to learning and interpersonal
processes (teammates, customers,
management)
❖ The Organizational perspective
➢ managerial and cultural aspects
➢ refers to the workspace and issues that
spread beyond the team.
❖ The Technological perspective
➢ practical and technical aspects
➢ refers to how-to and code-related
issues. HOT
Organizational
Perspective
Technological
Perspective
Human
Perspective
Software
Engineering
11.
12.
13. The Agile Manifesto
❖ People - teammates, customers,
management
❖ high priority to the people who
participate in the development
process
❖ decision related to the
development process → influence
on people who are part of the
development environment, their
relationships and communication
14. The Agile Manifesto
❖ main target of software projects is to
produce quality working software
● Focus is on working s/w or solution
○ Documents only for essential
requirement and accessible to all
○ Actual development commences
early
○ S/W that business can see and give
feedback
15. The Agile Manifesto
● development process is based on an
on-going and on a daily basis
contract with the customer.
● enables to cope successfully with the
frequent changes that characterize
software projects.
● Creates agile culture
16. The Agile Manifesto
● establish a development process that
copes successfully with changes
○ customers cannot predict a-priori all
their requirements;
● Respond to change and refine plan
without much implications on cost
● Encourages team to spend more time
working than creating project plans
32. Agile in Practice
● Whole Teams
● Short Releases
● Time Estimation
● Measures
● Customer Collaboration
● Test Driven Development
● Pair Programming
● Refactoring
33. Whole team Approach
● project team (including all role
holders and the customer)
communicate in a face-to-face
fashion as much as possible.
● development team work in a
collaborative workspace
● all team members participate in the
actual process planning
34. Short Releases
● Short releases usually of 2-3
months
● short iteration usually of one or two
weeks
○ Business Days
■ Previous iteration review
■ Project status review
■ Planning of next iteration
● Customer feedback at the end of
each iteration
35. Measures
Monitoring process transparent and known to all project stakeholders
● ON-TIME OR SPEED OF DELIVERY
○ burndown and the burnup charts
● PRODUCT QUALITY
○ tracking customer satisfaction, steady revenue growth, and testing success
● PROJECT VISIBILITY
○ Transparency - providing plans ahead of actions available to everyone
● PREDICTABILITY
○ Velocity - how much work has been completed at a sustainable pace
36. Customer Collaboration
● Customer part of process
● Avoids need to speculate on
customer requirements
● all team members have access to the
customer during the entire process.
● helps the teammates to cope
successfully with changes
37. Test Driven Development
● Unit and acceptance tests are integrated
with development process
● Encourages developers to build automatic
unit and acceptance tests
○ Unit test written prior to coding
○ Functionality added to pass test
○ Helps control development process
● Acceptance tests lead to development of
products that meets customer requirements
38. Pair Programming
● Each code developed by 2 teammates
● There is personal responsibility
● HArd to be distracted and leads to focus
● Driver- works with keyboard, thinks at
lower level
● Navigator - thinks of development at
higher level
● All team members familiar with all
aspects of developed software
39. Refactoring
● Improving Design of Existing
Code without affecting
functionality
● Time is dedicated to improve
software readability
● Reduce complexity of code
84. Objectives
● Characteristics of Teams in agile s/w development
● Allocation of roles to team members
● Using benefits of role assignment at individual, team and organization levels
● Dilemmas in teamwork and mechanisms to overcome them
● Mechanism to achieve, empower and maintain agile team spirit
● Basic skills to exploit strength of agile teams
85. Team
● At least 2 members working towards common goal
● Each person is assigned a specific role to perform
● Completion of mission requires some dependency among team members
Software Project teams accomplish complex task of software development
● Software development is about a tangible product
86. Role Scheme
● Role Assignment
○ Each team member is assigned a specific role to perform
○ Each team member will have an additional role assigned to them in addition to
primary role
● Software development is complex
○ Project management and progress split amongst all team members
○ BEnefits for individual, company and project
91. Role Scheme
● How does role scheme reflect HOT properties of Agile methods
● How is role scheme related to Agile MAnifesto
● What are benefits of role rotation
92. Dilemmas in Team work
● Allocation of incentives, rewards and bonuses
○ Teamwork is a basic working assumption is agile development
○ Team members cooperate, share information and exchange feedback with
each other
■ measuring individual performance is usually counter-productive
■ Major reason for conflicts
Dilemmas and conflicts associated with teamwork should be discussed openly
by all team members, and a solution that meets the needs of the individuals as
well as the entire team should be established.
93. Dilemmas in Team work
● Everyone gets X% of their salary as a bonus
● Distribute bonus evenly among team members
● Let team decide how bonus should be distributed
94. Rewards in Agile Teams
● rewards should encourage teamwork rather than individual
performance
● individual rewards maybe smaller in relation to team rewards.
● handwritten notes like thanking a team member for something special
and specific they did can do wonders for an individual
● Time - a team can be offered an incentive
★ a week off if they meet some delivery milestone.
★ choosing work of their choice in a sprint
95. Role Maintenance Activities
Activities performed on daily basis to enable entire team understand progress of the project
● Standup meetings
○ Individual performance
○ Expectations from team
● Presentation to customers
○ Present tasks of iteration
○ Individual contribution to task achievement
● Feedback from customers
○ With all team members
○ Personal reflection
97. Customers’ Role in Agile
Consulting with customers is at the heart of an Agile enterprise.
98. Customers Collaboration over contract
Negotiation
● Customer is at the heart of
the agile enterprise
● Agile process supports
customer’s role
● Enhancing Communication
with Customers
● Customer feedback to
increase product quality
99. Customer
● Customer may be one who pays for the product or has
business interests
● It is based on ongoing communication between the customer
and the team members
● Communication to facilitate
○ the requirements gathering
○ The way testing is performed and
○ Achieving suitability of the developed product
100. User
● They are the main clients
● HCI - Human Computer Interaction
● User perspective considered from beginning of product
development life cycle
Customer Group
● User Evaluator
● Customer
● Acceptance Tester
101. Customer Role
The customer is involved in
the development process
continuously
1. Setting Project Release
Schedule
102. Project Release Planning
● The architects present
their vision about
○ the product architecture
○ the existing architecture
○ anticipated changes.
● Customer describes
○ the project vision
○ the project main
stories
○ the guidelines
according to which
development
priorities will be
set.
103. Project Release Planning
● Other stakeholders
present their expectations
from the development
process.
● The project manager
presents
○ his or her view of
the development
process
○ the working
environment
○ his/her personal
expectations.
104. Business Day
● Discuss the development tasks of each iteration
● Takes place between each two consecutive iterations and
releases
● The rest of the iteration days are development days
105. Business Day
● All project stakeholders are invited to participate
○ Team, customer, managers, external members, users
● Planned to eliminate pressure over weekends
● Business Day Activities
○ presentation of the accomplishments of the ending iteration;
○ measures’ review;
○ customer feedback;
○ Reflective session;
○ planning of the next iteration.
106. Business Day Activities
○ presentation of the accomplishments of the ending
iteration;
○ measures’ review;
○ customer feedback;
○ Reflective session;
○ planning of the next iteration.
107. Presentation of the System
● Main features developed as per user stories for the ended iteration is
presented
● User story
○ should be understandable to customers and developers,
○ Is a unit of functionality of the product
○ Is implemented as a tested and integrated code
○ Is small enough such that many stories can be implemented
in an iteration
‘‘The most important stories to do first are the ones that contain the highest
business value.”
108. Presentation of the system
1. Make sure the system is fully integrated and includes all stories of
the ending iteration and is deployable
2. Ensure Customers and users are aware of all the features of the
system
3. Each team member presents his/her work - to raise accountability
4. Overall understanding of project components and features is
increased
109. Business Day Activities
○ presentation of the accomplishments of the ending
iteration
○ measures’ review
○ customer feedback
○ Reflective session
○ planning of the next iteration.
110. Mesures Review
Presentation and analysis of ending iteration metrics
● Present data to the entire team, by facts
● Discuss reason behind the metrics
● Ensure customer is aware of the process and progress
111. Mesures Review
Presentation and analysis of ending iteration metrics
■ Product metrics (no of written and passed tests)
■ Pulse metrics (continuous integration)
■ Burn-down metrics (measure of achieving
iteration goals)
■ Fault metrics (measure of new and open defects)
112. Business Day Activities
○ presentation of the accomplishments of the ending
iteration
○ measures’ review
○ customer feedback
○ Reflective session
○ planning of the next iteration.
113. Customer Feedback
○ a short, informal verbal summary of the iteration given
by the customer
○ Focus on product rather than process
○ Customer’s message to be included in iteration
summary
114. Business Day Activities
○ presentation of the accomplishments of the ending
iteration
○ measures’ review
○ customer feedback
○ Reflective session
○ planning of the next iteration.
116. Business Day Activities
○ presentation of the accomplishments of the ending
iteration
○ measures’ review
○ customer feedback
○ Reflective session
○ planning of the next iteration.
117. Planning Next Iteration
○ Begins of summary of previous iteration and the
reflective sessions
○ Customers, team members and interested persons can
attend
118. Planning Next Iteration
1. Customer tells the stories that were prepared in advance
to be developed in the next iteration
2. In addition the following are also added
a. Incomplete stories of previous iteration
b. Refactoring tasks
c. User stories that emerged from Business day
activities
119. Planning Next Iteration
3. Customer has to prioritize the stories
4. Development time of each of these tasks is estimated by
the developers who take ownership of them
5. The actual planning is set according to the available time
of the team members
6. The development loads are balanced among the
developers.
120. The User
HCI
➔ interface design and evaluation
➔ the interactions between users and systems
(hardware and/or software)
121. The User
Usability of a product - the extent to which a product can be
used by specified users to achieve specific goals with
● Effectiveness
● Efficiency
● Satisfaction
122. Integration of User with development environment
UCD- User Centric Design
● Experience is King
● Focus is on gaining a deep
understanding of who will be using the
product.
● Design techniques that emphasize user
needs during design of user interface
● Design designs can be validated and
tested
123. Why UCD?
● Design decisions can be validated and tested
● Guesswork is minimised
● Quality of experience vs. No. of features
○ Iphone vs Nokia?
● Create products for competitive market
124. Agile and UCD
Agile UCD
satisfy the customer through early and
continuous delivery of valuable software
create an experience for end-users
where they can achieve their goals
easily and efficiently
Working software is the primary
measure of progress
The satisfaction of end-user needs (user
goals) balanced with the achievement of
business goals is the primary measure
of success
Deliver working software frequently end-user experience could be poor or
worse