Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).



Similar documents
IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

IT3205: Fundamentals of Software Engineering (Compulsory)

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

Karunya University Dept. of Information Technology

Certified Software Quality Engineer (CSQE) Body of Knowledge

What is a life cycle model?

How To Understand Software Engineering

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

CMSC 435: Software Engineering Course overview. Topics covered today

Weighted Total Mark. Weighted Exam Mark

CREDENTIALS & CERTIFICATIONS 2015

International Program for Bachelor of Science (Software Engineering) College of Arts, Media and Technology, Chiang Mai University

Body of Knowledge General Knowledge (16 questions) Quality principles Benefits of software quality Organizational and process benchmarking

Certified Software Quality Engineer (CSQE) Body of Knowledge

Family: Iterative Enhancement Origin: Ivar Jacobson, James Rumbaugh, Grady Booch, 1996 Defines process framework that is adaptable to

Maps between the 2016 CSQE BOK and the previous BOK

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Prerequisites for Successful SOA Adoption

Software Engineering Question Bank

To introduce software process models To describe three generic process models and when they may be used

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

11 Tips to make the requirements definition process more effective and results more usable

Thesis seminar THE7TF007

Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation

Object-Oriented Systems Analysis and Design

CREDENTIALS & CERTIFICATIONS 2016

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

Certified Software Quality Engineer

R214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM

Plan-Driven Methodologies

Applying 4+1 View Architecture with UML 2. White Paper

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Life Cycle Processes

Software Development Process

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

INFORMATION SYSTEMS AND TECHNOLOGY MANAGEMENT

Design Document Version 0.0

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

CS314: Course Summary

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

Chapter 2 Software Processes

CS6403-SOFTWARE ENGINEERING UNIT-I PART-A

Syllabus. REQB Certified Professional for Requirements Engineering. Foundation Level

Verification and Validation of Software Components and Component Based Software Systems

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

MANUAL TESTING. (Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

Open Group SOA Governance. San Diego 2009

Software Quality Testing Course Material

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Business Analysis Essentials

System Development Life Cycle Guide

IEEE Computer Society Certified Software Development Associate Beta Exam Application

Master of Science in Software Engineering Student Guide

ก ก ก ก ก (3-0-6) ก ก ก (Introduction to Business) (Principles of Marketing)

INFORMATION TECHNOLOGY GUIDELINE

School of Computer Science

An integrated life cycle quality model for general public market software products

Software and Systems Engineering. Software and Systems Engineering Process Improvement at Oerlikon Aerospace

Components Based Design and Development. Unit 2: Software Engineering Quick Overview

Application of software product quality international standards through software development life cycle

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Sistemi ICT per il Business Networking

School of Advanced Studies Doctor Of Management In Organizational Leadership. DM 004 Requirements

A Comparison of SOA Methodologies Analysis & Design Phases

(BA122) Software Engineer s Workshop (SEW)

I. General Knowledge, Conduct, and Ethics (16 Questions)

FRAUNHOFER INSTITUTE FOR EXPERIMENTAL SOFTWARE ENGINEERING IESE VARIATION MANAGEMENT: USER EXPERIENCE FOR EFFICIENCY IN PROVIDING SOLUTIONS

Maps between the 2008 CSQE BOK and the 2002 BOK

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Software Production and Lifecycle Models

Introduction and Overview

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Surveying and evaluating tools for managing processes for software intensive systems

PHASE 5: DESIGN PHASE

MSE-201 SOFTWARE PROJECT MANAGEMENT

Software Engineering. What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville

Masters in Information Technology

Chapter 1 Introduction

Software Project Management using an Iterative Lifecycle Model

Real Time Embedded Software Development Using Agile Technology An Experience Report

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Master of Science Service Oriented Architecture for Enterprise. Courses description

JOURNAL OF OBJECT TECHNOLOGY

Software Process and Models

Software Requirements, Third Edition

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Business Analysis In Agile A Differentiated Narrative

Requirements Engineering for Web Applications

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Demand-Driven Curriculum for Embedded System Software in Korea

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

Lecture 3 Software Development Processes

How To Write An Slcm Project Plan

Transcription:

0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems and challenges that caused the birth of Software Engineering as a discipline, as well as to its scope and body of knowledge. Topics covered include: Software characteristics and problems, Software development processes, Domain and Software modeling, Software requirements analysis, Software design, Software construction, Software testing and evaluation, Software evolution, Software development tools and environments, Software project management, Software Engineering techniques in special application domains, Software and software process metrics, Software quality and Quality assurance, Ethics and professionalism. Engineering Foundations and Economics Prerequisite: 0305203 (Introduction to Software Engineering). Empirical methods and experimental techniques (e.g. computer-related measuring techniques for CPU and memory usage). Statistical Analysis (including simple hypothesis testing, estimating, regression, correlation etc.). Systems development (e.g. security, safety, performance, effects of scaling, feature interaction, etc.) and Engineering Design (problem formulation, alternative solutions, feasibility etc.). Engineering economics for software including value considerations, system objectives, evaluating cost-effective solutions, and realizing system value. Object Oriented System Engineering Prerequisite: 0305203 (Introduction to Software Engineering). Software design for a medium-size software product. Software requirement specification, Notation and design methodology. Design guidelines, Software evaluation at component level. Software design evaluation for reuse. Software Architecture Introduction to software design and architecture Client-Server, the Model- View-Controller, etc. -The Object-oriented and function-oriented pipelining Components technology - Application frameworks - Middleware architectures including COM, CORBA, and.net. Students participate in a group project on software design and architecture.

0305303 0305335 0305343 0305355 Software System Requirements Prerequisite: 0305203 (Introduction to Software Engineering). Software development models, The requirements Engineering Process - Elicitation of requirements - Functional and non functional requirements - System services and constraints Quality of Requirements - Requirements traceability matrix - Metrics for non-functional requirements - Use case description - Use case and context diagrams Software Requirements Specification -IEEE Standard - Requirements for agile developments - Requirements for various systems: embedded systems, web-based systems, business systems, etc. Requirements management. Formal Methods Formal methods concepts, Formal specification languages. Executable and non-executable specifications. Pre and post assertions. Formal verification techniques in the context of software validation and testing. Using a common formal specification language, formulate the specification of a simple software system and demonstrate. Component-based Computing Fundamentals: The definition and nature of components, Components and interfaces, Interfaces as contracts and the benefits of components. Basic techniques: Component design and assembly, Relationship with the clientserver model and with patterns, Objects and object lifecycle services, Use of object brokers and Marshalling. Applications (including the use of mobile components). Architecture of component-based systems, Componentoriented design. Event handling: detection, notification, and response. Middleware: O.O. paradigm, Object request brokers, Transaction processing monitors, Workflow systems and State-of-the-art tools. Software Modeling and Analysis Modeling principles, pre & post conditions, a review of mathematical models and specification languages, properties of modeling languages; modeling of information, behavior, structure, domain, functions, and embedded systems; analysis fundamentals; requirements fundamentals, specification, elicitation, documentation, and validation

0305356 0305390 0305434 0305440 Software Design Design concepts: definition, fundamentals, context, principles, quality attributes. Design strategies: function-oriented, object-oriented, datastructure, and aspect-oriented design. Architectural design: styles, hardware issues, requirements traceability, domain-specific, architectural notations. HCI design principles, modes, navigation, coding and visual design, response time and feedback, design modalities, localization and internationalization, human computer interface design methods, and psychology of HCI. Detailed design and design tools and methods. Internship for SE Credit Hours: 0 Prerequisite: Must be approved by the department. During this course, the student registers a training session in a certified company or a governmental institute. The student should provide a fully described project in order to be completed in the graduation semester. A team as well as a supervisor must by determined. Specialized Systems Development Identify and discuss different specialized systems, discuss life cycle and software process in issues in the context of software systems designed for a specialized contest, select with appropriate justification approach that will result in the efficient and effective development and mainteneece4 of specialized software systems. Human Computer Interaction Tools and techniques for designing, implementation, deploying and evaluation of user interfaces and interactive systems; Dialogue Styles, Theories of interaction and component integration, Human-Computer Interaction frameworks.

0305441 0305442 0305443 0305444 Software Development Process, Quality Assurance, and Evolution Background on system development, development methods and life cycle of system, requirements and modeling the process, monitoring and managing projects. Studying the alternative approaches of development. Studying the CASE tools that used for development. Software verification and Validation Defining verification and validation, planning for verification and validation, studying all the details of testing: system testing, component test case, test automation. Introducing strategies of testing: black and white boxes. Implementation of testing: Alpha and Beta. Case study on validation systems such as critical system Software Development, Verification and Validation Software engineering process including: infrastructure, process modeling & specification, process measurement, analysis, improvement, and implementation. V&V terminology and foundations such as, objectives and constraints, planning the V&V effort, documenting V&V strategy, including tests and other artifacts, V&V involvement at different points in the lifecycle. Reviews: desk checks, walkthroughs, and inspections. Testing: unit testing, exception handling, white- and black-box testing, operational profit-based testing, system and acceptance testing, quality testing, regression testing, testing tools, and the deployment process. Software Testing Prerequisite: 0305301 (Object Oriented System Engineering ). Fundamental of software testing to testing - Unit, functional, and acceptance testing - Black-box and white-box testing - Equivalence partitioning - Path testing Cyclomatic complexity - Integration testing System Testing: Regression testing; Interface testing; Stress testing; Incremental testing; Interaction and Usability testing... etc. - Object-oriented testing - Software testing tools - Alpha, beta, and user acceptance testing Testing in agile development environment - Automated testing- V- test model. Students participate in a group project on software testing.

0305445 0305456 0305457 0306457 0305458 Software Documentation and Development Introduction to the documentation activity during the software development process. Detailed documentation guidelines including: organizational policy and document templates. Introduction to IEEE Software Engineering Standards-based templates for documentation. Professional techniques for designing, producing, and packaging the documentation. Integrating userfriendly tutorials and on-line help menus within any documentation project. Hands-on experience in writing software documentations. Software Quality Assurance Quality concepts Software quality assurance - Software quality management - Quality planning and control Quality manual Product and process standards - Internal and external software quality attributes - Software reviews, walkthrough and inspection Statistical software quality assurance Software configuration management - Software reliability International Software quality models, e.g. ISO 9000 Quality standards and ISO 9000-3, etc.. Software process improvement The Capability Maturity Model (CMM), Students participate in a group project on Software quality assurance. Software Engineering Prerequisite: 0309353 Introduction to S.E software requirement, software design, and analysis, software testing, verification and verification, software life cycle, software process. Software Project: Management and Measurement Issues involved in software project management. Techniques to develop software project plans, supporting software quality plans and risk management plans. Topics also covered include project management issues: client management; management of technical teams, project planning, and scheduling, risk management, configuration management, quality assurance and accreditation, legal issues. Practical work for three hours weekly is also included.

0305459 0309481 0305482 Software Project Management Issues involved in software project management. Techniques to develop software project plans, supporting software quality plans and risk management plans. Topics also covered include project management issues: client management; management of technical teams, project planning, and scheduling, risk management, configuration management, quality assurance and accreditation, legal issues. Practical work for three hours weekly is also included. Social Issues and Professional Practice Group dynamics and psychology: working in teams/groups, interacting with stakeholders, dealing with uncertainty and ambiguity, dealing with multicultural environments. Communication skills specific to SE such as, reading, understanding and summarizing reading (e.g source code and documentation); writing assignments, reports, evaluations, justifications; team and group communication; professional skills. Accreditation, certification, and licensing. Codes of ethics and professional conduct. Social, legal, historical, and professional issues and concerns. The nature and role of professional societies. The nature and role of software engineering standards. The economics of impact software. Employment contracts. Software Maintenance Students will study the four types of maintenance: corrective, adaptive, perfective, and preventive maintenance; economic implications of maintenance; managerial issues related to system maintenance such as maintenance organizational structure; quality measurement, processes related to change requests and configuration management. Topics including: Website maintenance; role of CASE tools; reverse engineering, reengineering; code restructuring and amenability measures. Students will also learn different maintenance process models such as: Boehm, Osborne, Iterative enhancement and reuse-oriented modes.

0305490 Graduation Project for Software Engineering Prerequisite: 0305390 (Practical Training). Students are required to develop graduation projects in one of the information technology fields. Students are required to strictly follow standards during the analysis, design and implementation of their projects. Comprehensive documentation of the project stages is to be submitted.