Question 1 [ ] 1- What is the main goal for software engineering

Question 1 [ ]
1- What is the main goal for software engineering?
Solving customer problem by systematic development and produce high
quality software within cost, time and other constraint.
2- When do you consider software as success software?
 when it meets the needs of the people who use it.
 when it performs flawlessly over a long period of time.
 when it is easy to modify and even easier to use—it can and does change
things for the better.
3- Describe a couple of things that software engineers might do besides writing
the code for a program?
 Direct software programming and development of documentation.
 Prepare reports and correspondence concerning project specifications,
activities and status.
 Modify existing software to correct errors, to adapt it to new hardware or
to upgrade interfaces and improve performance.
 Analyze information to determine, recommend and plan installation of a
new system or modification of an existing system.
 Develop and direct software system testing and validation procedures.
Question 2 [ ]
1- What make software engineering different from problem solving in other
engineering filed and sciences?
 A rapid change occurs while the problem is being solved.
 Knowledge acquisition is a nonlinear activity especially in SE. The addition
of a new piece of information may invalidate all the knowledge we have
acquired for the understanding of a system.
 The product (software) of SE is not a concrete thing like a building and can
be seen.
2- What is the relation between software engineering and computer science?
 Some knowledge of computer science is essential for software engineers in
the same way that some knowledge of physics is essential for electrical
Question 3 [ ]
1- How does software engineer deal with complexity in large projects?
There are many ways in software engineering to deal with complexity. Using:
Abstraction (Modeling), decomposition, hierarchy
System models: Show the technical aspects
Task models: Show the project management aspects
Issue models: Show the negotiation aspects