• Stars
    star
    168
  • Rank 225,507 (Top 5 %)
  • Language
    HTML
  • Created almost 2 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This course is designed to give students an introduction to an engineering approach in the development of high-quality software systems. It will discuss the important software engineering concepts in the various types of the common software process models.

Stars Badge Forks Badge Pull Requests Badge Issues Badge GitHub contributors Visitors

Don't forget to hit the ⭐ if you like this repo.

Software Engineering (WBL)

Course Synopsis

This course is designed to give students an introduction to an engineering approach in the development of high-quality software systems. It will discuss the important software engineering concepts in the various types of the common software process models. The students will also learn the concepts and techniques used in each software development phase including requirements engineering, software design and software testing. This course will also expose the students to utilizing object-oriented method (e.g., UML) and tools in analyzing and designing the software. At the end of this course, students are expected to be able to appreciate most of the common software engineering concepts and techniques as well as producing various software artifacts and deliverables.

Course Learning Outcomes

  1. Apply the fundamental of software engineering, software process, requirements engineering to solve software engineering case studies.
  2. Build suitable software architecture, object-oriented design model and develop test cases in software engineering case studies.
  3. Construct software requirements model, software architecture, object-oriented design model and test cases with state-of-the-art methods and tools for a real-world software engineering problem.
  4. Ability to establish good rapport, interact with others, work effectively in a team and comprehend the interchangeable role of leaders and followers with team members.

πŸ”₯ Important things

  1. Lecture Notes
  2. Student Information
  3. Task 1: Additional Notes
  4. Lab exercise
  5. Project 1: Student Portfolio Showcase (HTML)
  6. Project 2: Student Portfolio Showcase (Bootstrap)
  7. Student Portfolio Showcase
  8. Book
  9. Software Requirements Document (SRD): Academic Course Registration System
  10. Class exercise: Module 4
  11. πŸ†• Carry marks

Weekly Schedule

No Module Description 01 02
1 1: Introduction to Software Engineering Software definition, software engineering as a layered technology, types of software, inherent difficulties in software engineering, SE quality focus, Documentation Standard.
2 Proposal A proposal in software engineering is a document that outlines a proposed solution to a problem or need related to software development. It typically includes an overview of the problem, the proposed solution, the benefits and risks of the proposed solution, the resources required to implement the solution, and a plan for implementing and testing the solution.
2 2: Software Process Model Plan Driven or Agile Process Model, general software process model waterfall, incremental, reuse oriented, software process model which cope with change spiral model and Rational Unified Process
3 3: Agile Software Development Agile methods, Agile development techniques, Agile project management, scaling Agile methods
4 4: Requirements Engineering Types of requirements, functional and non-functional requirements, requirements specification, requirements engineering processes
5 UML and tools A UML (Unified Modeling Language) diagram is a visual representation of a system or process that uses standardized symbols and notations to depict the structure, behavior, and relationships between different components of the system. It provides a clear and concise way to communicate and document the design and architecture of a software system, enabling stakeholders to understand and analyze the system's various aspects.
6 5 : Requirements Analysis and modelling ME Use case modelling and specification, domain modelling, activity diagram, sequence diagram, state chart/state machine diagram
7 Figma Learn Figma
8 KRISA Metodologi KRISA meliputi 6 fasa utama yang perlu difahami, diguna pakai dan dilaksanakan oleh agensi. Setiap fasa menerangkan aktiviti, teknik dan pendekatan, serta dokumentasi serahan.
9 6: Architectural Design Architectural design and detailed design, Architectural design decision, architectural view, component diagram in relation to architectural view, architectural pattern: Model-View-Controller (MVC), layered, repository, client server and pipe filter
10 7: Object-Oriented Detailed Design Relationships among analysis, design and implementation, object-oriented design using UML, object-oriented design principles, elaborating UML diagrams from analysis.
11 πŸ”₯UML The UML exercise is designed to familiarize students with Unified Modeling Language (UML), a standardized visual modeling language used in software engineering. Through this exercise, students gain hands-on experience in creating UML diagrams, such as class diagrams, sequence diagrams, and use case diagrams. By applying UML, students can effectively analyze, design, and communicate software system structures and behaviors.
12 8: Software verification, validation and testing Introduction to verification and validation, verification and validation planning, software inspections. System testing, Component testing, Test case design, Test Case Design using Black-box and white box
13 Software Engineering project – Test case design. Produce testing document that includes all the required test cases
14 Project demonstration and hand over.

Project

No Module Description File
1 Project 1 Student Portfolio Showcase (HTML)
2 Project 2 Student Portfolio Showcase (Bootstrap)
3 Proposal Guideline for Software Engineering Proposal
4 System Documentation System Requirements Specification (SRS), System Design Document (SDD), and System Testing Document (STD).

Submission

No Topic File
1 Proposal
2 System Requirements Specification (SRS)
3 System Design Descriptions (SDD)
4 System Test Descriptions (STD)
5 Project

Tools

Diagrams are visual representations of information or data that help convey complex concepts, processes or systems in a clear and concise manner. Flowcharts are diagrams that use shapes and arrows to illustrate the steps in a process or algorithm [More info...].

No Tools File
1 Figma
2 Draw.io
3 Github Pages
4 Behance
5 Visual Studio Code
6 Bootstrap Studio
7 Carbon

Contribution πŸ› οΈ

Please create an Issue for any improvements, suggestions or errors in the content.

You can also contact me using Linkedin for any other queries or feedback.

Visitors

More Repositories

1

learn-github

A step-by-step guide to getting started with Git and GitHub for beginners.
HTML
737
star
2

learn-php

This course is designed to introduce students the fundamental of knowledge, technologies and components for web application developments. The basic topics includes the standard HTML for content creation, CSS for content presentation, JavaScript for client-side logics, PHP for server-side logics and MySQL for data processing.
JavaScript
180
star
3

Python_EDA

This topic explains about the implementation of exploratory data analysis (EDA). A total of 21 EDA case studies have been implemented using the Malaysian dataset.
Jupyter Notebook
167
star
4

Python-big-data

Python and Pandas are known to have issues around scalability and efficiency. You will learn how to use libraries such as Modin, Dask, Ray, Vaex etc to overcome the problems faced by Pandas.
Jupyter Notebook
126
star
5

SLR-FC

Systematic Literature Review (SLR) using AI involves leveraging artificial intelligence techniques to automate and expedite the process of reviewing and synthesizing large volumes of scholarly literature.
116
star
6

special-topic-data-engineering

This course presents to the students recent research and industrial issues pertaining to data engineering, database systems and technologies. Various topics of interests that are directly or indirectly affecting or are being influenced by data engineering, database systems and technologies are explored and discussed.
Python
108
star
7

python-web

This topic explains how to implement web scraping and python web development. Web scraping topics such as scrapy, beautiful soup, and others will be covered. A case study based on a Malaysian website.
Jupyter Notebook
106
star
8

obsidian

Obsidian.md stands out as an exceptional note-taking application tailored specifically for academic writing. This repository is part of the activities for the Systematic Literature Review using AI workshop.
HTML
98
star
9

python-tutorial

Jupyter Notebook
92
star
10

dataset

84
star
11

obsidian-slr

This repository hosts an Obsidian vault tailored for conducting a Systematic Literature Review (SLR). This repository is part of the activities for the Systematic Literature Review using AI workshop.
73
star
12

undergraduate-project

Final Year Project or commonly known as a Projek Sarjana Muda (PSM) is a course whereby each undergraduate student must undertake and pass in order to graduate. It aims is to equip students with knowledge and skills in problem solving/programming technique through appropriate academic and research activities.
JavaScript
66
star
13

SECP3843

Python
64
star
14

learn-django

Python
62
star
15

HPDP

High performance data processing employs high performance computing (HPC) to process data, which is then translated into information and knowledge. The advent of high-performance computing and data analytics enabled real-time interrogation of extremely large data sets.
Jupyter Notebook
62
star
16

research-design

This course will cover the fundamental steps and implementation on developing the initial ideas to formal academic writing accordingly. Students will be given the mechanisms on how to transform and digest the literature reviews that leads to the proposed title.
Roff
59
star
17

BDM

Course covers big data fundamentals, processes, technologies, platform ecosystem, and management for practical application development.
Jupyter Notebook
50
star
18

Generative-AI-Playground

Generative-AI-Playground is a platform for experimenting with different generative models and techniques. It lets you try out advanced technologies like ChatGPT, Bing.AI and Gemini. This playground is a place where people can learn and practice using these models.
40
star
19

ai-tools

AI-powered literature review tools leverage machine learning to expedite and enhance the scholarly process of identifying, analyzing, and synthesizing relevant research.
39
star
20

research-material

Information related to research material that can be used by postgraduate students
37
star
21

learn-aspnet

This course introduces the fundamentals of web development using ASP.NET, with the aim to develop a database (SQL Server) driven website.
ASP.NET
35
star
22

drshahizan

My profile readme
29
star
23

drshahizan.github.io

CSS
27
star
24

phd

The daily life of a PhD student may differ significantly from that of an undergraduate or Masters student. There will be much more independence and very few 'taught' elements. A typical week will almost certainly include the same number of PhD study hours as a full-time job.
Python
27
star
25

courses

Course material-related information.
21
star
26

AI-Innovation

20
star
27

SLR-MIIT

16
star
28

mySMOKU

JavaScript
9
star
29

mybooks

This repository is used to store the necessary materials for writing an original book. It serves as a centralized location for authors to organize and access research materials, references, drafts, and other documents essential for the book-writing process.
8
star
30

trainee

6
star
31

SLR

5
star
32

data-analytics

5
star
33

learn-chatGPT

3
star
34

book-eda

3
star
35

myTOR

2
star
36

zenodo

1
star