0% found this document useful (0 votes)
39 views6 pages

Software Engineering - RoadMap

The Software Engineering course covers core principles of software construction and maintenance, including methodologies, life cycles, and quality frameworks. Students will learn to analyze, design, and develop large-scale software systems while applying industry-standard tools and practices. The course emphasizes teamwork, ethical standards, and effective communication, preparing students for various roles in software engineering.

Uploaded by

badmashboy723421
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)
39 views6 pages

Software Engineering - RoadMap

The Software Engineering course covers core principles of software construction and maintenance, including methodologies, life cycles, and quality frameworks. Students will learn to analyze, design, and develop large-scale software systems while applying industry-standard tools and practices. The course emphasizes teamwork, ethical standards, and effective communication, preparing students for various roles in software engineering.

Uploaded by

badmashboy723421
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/ 6

Course Title: Software Engineering

Course Code:
Pre-Requisites:
Credit Hours Theory: 2
Credit Hours Lab (If 1
Applicable):
Course Objectives: Software Engineering (SE) comprises the core principles consistent in
software construction and maintenance: fundamental software
processes and life-cycles, mathematical foundations of software
engineering, requirements analysis, software engineering
methodologies and standard notations, principles of software
architecture and re-use, software quality frameworks and validation,
software development, and maintenance environments and tools. An
introduction to object-oriented software development process and
design. Topics include: iterative development, interpretation of
requirements and use case documents into code; application of design
notation in UML and use of commonly-used design patterns. Current
industry-strength programming languages, technologies and systems
feature highly in the practical components, electives and projects of
the course, but they are also taught with a view to understanding and
applying principles underlying their more ephemeral character.
Learning Outcomes: After the successful completion of course, the students will be able to:
1. Basic knowledge and understanding of the analysis and design of
complex systems.
2. Ability to apply software engineering principles and techniques.
3. Ability to develop, maintain and evaluate large-scale software
systems.
4. To produce efficient, reliable, robust and cost-effective software
solutions.
5. Ability to perform independent research and analysis.
6. To communicate and coordinate competently by listening,
speaking, reading and writing english for technical and general
purposes.
7. Ability to work as an effective member or leader of software
engineering teams.
8. To manage time, processes and resources effectively by
prioritising competing demands to achieve personal and team goals
Identify and analyzes the common threats in each domain.
9. Ability to understand and meet ethical standards and legal
responsibilities.
Content SOFTWARE ENGINEERING FUNDAMENTALS

• Course Logistics
• Software Development Challenges
• Software Scope
• Software Engineering Discipline
• Software Methodologies and Related Process Models
• The Human Side of Software Development
• Introduction to Agile Software Engineering

SOFTWARE DEVELOPMENT LIFE CYCLES (SDLCs) –


Part I

• Process Models and Solution Life Cycle Phases


• Traditional Life Cycle Models
o Waterfall
oV
o Phased
o Evolutionary
o Spiral
o CBSE
• Alternative Techniques
o UP
o RAD
o JAD
o PSP/TSP
o Prototyping

SOFTWARE DEVELOPMENT LIFE CYCLES (SDLCs) –


Part II

• Agile Software Engineering Process Models


o Extreme Programming
o Agile Software Development
o DevOps
o Site Reliability Engineering (SRE)
• Roles and Types of Standards
• ISO 12207: Life Cycle Standard
• IEEE Standards for Software Engineering Processes and
Specifications

SOFTWARE ENGINEERING TOOLS PRIMER

• Requirements Management Tools (e.g., IBM Rational Doors)


• Design Tools (e.g., Sparx Enterprise Architect)
• Development Tools
o IDEs (e.g., Xcode, Eclipse, IntelliJ IDEA, NetBeans, Microsoft
Visual Studio, Atom)
o Source Control Management (e.g.,GitHub)
o Release Orchestration (e.g., OpenMake)
o Collaboration (e.g., Jira, Trello, Slack)
• Operations Management Tools
o Database Automation (e.g., Datical)
o Deployment (e.g, ElasticBox)
o Configuration Management (e.g., Ansible, Chef, Puppet)
o Continuous Integration (e.g, Jenkins)
o Container Management (e.g., Docker, Kubernetes)
• Testing Tools and Frameworks
o Testing Tools (e.g., Junit, Selenium)
o PaaS (e.g., PythonAnywhere, AWS Code9, Heroku)
• Management and Monitoring Frameworks
o - AIOps (e.g, Splunk, Logstash)
o - Analytics (e.g., Dynatrace, ElasticSearch)
o - Monitoring (e.g., Nagios)
• Security Frameworks (e.g., Snort, BlackDuck)
• Cloud Platforms (e.g., AWS, Azure, GCP, IBM Cloud)
• Project Management (e.g., Scoro, Basecamp, Microsoft Project)
• Selecting Appropriate Tools

PLANNING AND MANAGING REQUIREMENTS

• Requirements Development Methodology


• Specifying Requirements
• Eliciting Accurate Requirements
• Documenting Business Requirements
• Defining User Requirements
• Validating Requirements
• Achieving Requirements Traceability
• Managing Changing Requirements
• Reviews, Walkthroughs, and Inspections
• Requirements Modeling
• Agile Requirements Engineering

INTRODUCTION TO SOFTWARE ANALYSIS AND DESIGN

• Roles of Analysis and Design


• Traditional Data and Process Modeling Approaches
• Performing Requirements Analysis
• Object-Oriented Modeling
• User Experience Design
• Design for Mobility
• Selecting and Combining Approaches
• Creating a Data Model

BUSINESS MODEL ENGINEERING

• Business Model Capture Tools


• Process Modeling
• Capturing the Organization and Location Aspects
• Developing a Process Model

FROM ANALYSIS AND DESIGN TO SOFTWARE


ARCHITECTURES

• Building an Object Model using UML


• Architectural and Pattern-Based Design
• Model Driven Architectures
• Business Process Management
• Achieving Optimum-Quality Results
• Selecting Kits and Frameworks (e.g., Bootstrap, .Net)
• Using Open Source, free, freemium, paid, and Enterprise software
components

BUILDING SOFTWARE

• Language and Platform Issues


• Component Infrastructures
• Pair Programming
• Refactoring
• Test Driven Development (TDD)
• Distributed Development and Agile Methods Scalability

SOFTWARE VERIFICATION AND VALIDATION

• Unit Testing
• Integration and System Testing
• Static Confirmation
• Dynamic Testing
• Traceability Matrices
• Automated Testing
• Other Specialized Testing

SOFTWARE QUALITY AND SECURITY

• Software Quality Concepts


• Software Configuration Management (CM)
• Software Quality Assurance (SQA)
• Software Quality and Agile Methods
o Automated and Manual Functional Testing
o Acceptance testing
o Mock objects
o User interface testing (HTTPUnit, Canoo)
o Performance testing
• Software Metrics and Analytics
• Quality and Process Standards and Guidelines
o ISO 9000
o SWEBOK
o ISO 15504
o SEI’s Capability Maturity Model (CMM)
o CMM Integration (CMMI)
• Software Security Engineering

RISK MANAGEMENT IN SOFTWARE ENGINEERING


PROJECTS

• Project Management Concepts


• Project Planning and Estimation
• Cooperative roles of software engineering and project management
• Developing risk response strategies
• Risk Management in Agile Processes
• Agile Project Planning
• Project Management Metrics
• Software Support Strategies

Advanced Topics

• Software Process Improvement


• Quantifying Software Specifications Using Formal Methods
o Using Set Theory and Logic
o Verifying Requirements Mathematically
• Emerging Trends in Software Engineering
• Data Science for Software Engineers
• Measuring User Satisfaction
• Software Engineering Ethics
Recommended Text Books:  Software Engineering: A Practitioner's Approach, By
Roger S. Pressman and Bruce Maxim, McGraw-Hill Higher
International; ISBN-10: 1259872971; ISBN-13: 978-
1259872976, 9th Edition (09/19)

 Software Engineering (10th Edition) by Ian


Sommerville Pearson; ISBN-10: 0133943038; ISBN-13:
978-0133943030 (04/15)
Reference Books:  Site Reliability Engineering, by Niall Murphy, Betsy
Beyer, Chris Jones, and Jennifer Petoff O’Reilly Media;
ISBN-10: 149192912X, ISBN-13: 978-1491929124 (04/16)
Helping Web Sites:  https://www.ibm.com/cloud/devops
 https://landing.google.com/sre
 www.agilemanifesto.org
 http://www.agilemodeling.com/
 http://www.aboutus.org/Adaptivesd.com www.AgileAlliance.org
 http://www.extremeprogramming.org/
 https://ronjeffries.com/
 http://hillside.net/patterns
 http://www.omg.org/mda/
 http://www.stevemcconnell.com
Attendance is mandatory. Every class is important. All deadlines are
hard. Under normal circumstances late work will not be accepted.
Students are required to take all the tests. No make-up tests will be
given under normal circumstances. There is 0 tolerance for
General Instructions for plagiarism. Any form of cheating on exams/assignments/quizzes is
students: subject to serious penalty.

Attendance
75% attendance is mandatory. Latecomers will be marked as
absent.
Evaluation Criteria
Assignments/projects 20%
Quizzes 10%
Mid-Term 20%
Final 50%
CONTRIBUTION OF COURSE LEARNING OUTCOMES (CLOs) TO
PROGRAMME LEARNING OUTCOMES (PLOs)

BS Software Engineering Data Structures and Algorithms


No Program Learning Course Learning Outcomes
Outcomes
1 2 3 4 5 6 7
1 Engineering Knowledge 
2 Problem analysis 
3 Design/Development of 
solutions
4 Investigation
5 Modern tool usage
6 Engineer and society
7 Environment and
sustainability
8 Ethics
9 Individual and Team work
10 Communication
11 Project Management
12 Lifelong learning

You might also like