Assignment - INTRO. TO SOFTWARE ENGINEERING
General Objectives: On completion of this course the student should be able to:
1.0 Know the fundamental concept of software Engineering.
2.0 Know software Requirements.
3.0 Know design process in software engineering.
4.0 Understand verification and validation Process.
5.0 Understand Software Management.
1-3 To be able to:
• Define Software Engineering,
• Distinguish between the various software engineering model
• Explain the differences between verification and validation
• Explain the activities involved in software process
• Discuss software processes i.e waterfall, exploratory programming, prototyping, formal transformation and systems assembly from reusable components.
Provide definition for software Engineering
Explain all the software engineering models and compare them.
Discuss software processes
4-7 Be able to explain
-Software requirement documents
-Systems contests.
-Requirement definition
-Requirement solution.
Discuss the place of specification in the software process.
Explain the problems of introducing complete and content specifications
Describe the structures of a requirement document.
Use Data flow techniques to define the context in which a system operates.
Use structured natural language to express requirements.
Discuss Evolution with respect to system procurers, discover errors and emergence of new requirements.
8-10 Be able to explain
• The design process
• Design strategies
• Design quality in Software engineering.
Define the design process
Explain the different stages of the design process.
Explain the different stages in the process (architecture, water face, data structure, software, component, and Hyorithm)
Discuss object oriented design and function-oriented design strategies.
Describe main activities in the software design process using entity-relation diagram.
Explain design quality attributes (cohwercon, coupling, understand ably and adoptability)
Explain when maximizing cohesion and minimizing coupling leads to use dependable systems.
11-13 To be able to describe the
-Testing process
-Test planning
-Testing strategies
State and explain the objectives of verification and validation
State and explain the statistical and defect testing
Describe the testing process (unit, module, sub-systems, system and acceptance)
Explain test plan components and illustrate the relationships between test plans and the software process.
Discuss testing strategies (Topdown, Bottom up, thread and stress)
14-15 Be able to explain
• Management Activities
• Software management structures
• Programmer Productivity.
Explain the differences between software project management and other types of engineering project management.
Describe management activities (proposal writing, project planning and scheduling, project monitoring and reviews, personnel selection and evaluation Report writing and presentations.
Describe software management structures (programming team organization, and chief programmer teams)
Illustrate software management structures.
Explain programmer productivity (Analysis time, design time, coding tune, validation tune)
Explain factors affecting programmer productivity.