• No results found

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
7
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Engineering/Courses Description

Introduction to Software Engineering 0305203

Credit Hours: 3

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 0305280

Credit Hours: 3

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 0305301

Credit Hours: 3

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 0305302

Credit Hours: 3

Prerequisite: 0305301 (Object Oriented System Engineering).

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.

(2)

Software System Requirements 0305303

Credit Hours: 3

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 0305335

Credit Hours: 3

Prerequisite: 0306250 (Data Structures).

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 0305343

Credit Hours: 3

Prerequisite: 0306250 (Data Structures).

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 client- server 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, Component- oriented 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 0305355

Credit Hours: 3

Prerequisite: 0306250 (Data Structures).

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

(3)

Software Design 0305356

Credit Hours: 3

Prerequisite: 0305301 (Object Oriented System Engineering).

Design concepts: definition, fundamentals, context, principles, quality attributes. Design strategies: function-oriented, object-oriented, data- structure, 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 0305390

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 0305434

Credit Hours: 3

Prerequisite: 0305301 (Object Oriented System Engineering).

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 0305440

Credit Hours: 3

Prerequisite: 0306250 (Data Structures).

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.

(4)

Software Development Process , Quality Assurance , and Evolution 0305441

Credit Hours: 3

Prerequisite: 0305356 (Software Design).

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 0305442

Credit Hours: 3

Prerequisite: 0305356 (Software Design).

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 0305443

Credit Hours: 3

Prerequisite: 0305301 (Object Oriented System Engineering).

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 0305444

Credit Hours: 3

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.

(5)

Software Documentation and Development 0305445

Credit Hours: 3

Prerequisite: 0305356 (Software Design).

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 user- friendly tutorials and on-line help menus within any documentation project.

Hands-on experience in writing software documentations.

Software Quality Assurance 0305456

Credit Hours: 3

Prerequisite: 0305301 (Object Oriented System Engineering).

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 0305457

Credit Hours: 3 0306457

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 0305458

Credit Hours: 3

Prerequisite: 0306250 (Data Structures).

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.

(6)

Software Project Management 0305459

Credit Hours: 3

Prerequisite: 0306250 (Data Structures).

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 0309481

Credit Hours: 3

Prerequisite: 0305356 (Software Design).

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 0305482

Credit Hours: 3

Prerequisite: 0305356 (Software Design).

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.

(7)

Graduation Project for Software Engineering 0305490

Credit Hours: 3

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.

References

Related documents