Professional Documents
Culture Documents
SE1
SE1
SE1
Grading Policy
1. Mid Term 2. Final Term 3. Quizzes 4. Assignments 5. Class Attendance + Class participation 6. Project
What is software?
Computer programs and associated documentation. Software products may be developed for a particular customer or may be developed for a general market. Software products may be
Barani Institute of Information Technology (BIIT-UAAR Rawalpindi) Page 1
SOFTWARE ENGINEERING I
Generic - developed to be sold to a range of different customers Bespoke (custom) - developed for a single customer according to their specification
SOFTWARE ENGINEERING I
3. In the late 1950s, higher level languages were invented to make it easier to communicate with the machine and it was the time when programming attained the status of a profession: you could ask a programmer to write a program for you instead of doing it yourself. This introduced a separation between the user and computer. Now the user has to specify the task in a form other than the precise programming notation used before Very few larger software projects were being done in the early 1960s and these were done by computer pioneers who were experts
4. In the middle to late 1960s, truly large software systems were attempted commercially. The best documented of these projects was the OS 360 operating system for the IBM 360 computer family. 5. The term Software Engineering was invented around this time and conferences were held to discuss the difficulties these projects were facing in delivering the promised products. 6. It was discovered that the problems in building the large software systems were not a matter of putting computer instructions together rather: 7. People on the project had to spend a lot of time communicating with each other rather than writing code. 8. People sometimes even left the project, and this not only affected their work but also the work of the others who were depending on them. 9. Many solutions were proposed and tried. Some suggested that the solution lay in better management techniques. 10. Other proposed different team organizations. Yet other argued for better languages and tools. 11. The final consensus was that the problem of building software should be approached in the same way that engineers had built other large complex systems such as bridges, refineries, factories, ships and airplanes. 12. The engineering approach required management, organization, tools, methodologies and techniques. And thus was software engineering born.
SOFTWARE ENGINEERING I
1. Computer science is concerned with theory and fundamentals where as software engineering is concerned with the practicalities of developing and delivering useful software 2. Computer science theories are currently insufficient to act as a complete underpinning for software engineering
Coping with increasing diversity Demands for reduced delivery times Developing trustworthy software.
Understand requirements and write specifications Derive models and reason about them Master software Operate at various abstraction levels Communication skills Management skills
SOFTWARE ENGINEERING I
1. Roughly 60% of costs are development costs, 40% are testing costs. For custom software, evolution costs often exceed development costs 2. Costs vary depending on the type of system being developed and the requirements of system attributes such as performance and system reliability 3. Distribution of costs depends on the development model that is used
Software specification
1.
The process of establishing what services are required and the constraints on the systems operation and development
2.
Requirements engineering process a. Feasibility study b. Requirements elicitation and analysis c. Requirements specification d. Requirements validation
SOFTWARE ENGINEERING I
1. Upper-CASE Tools to support the early process activities of requirements and design. 2. Lower-CASE Tools to support later activities such as programming, debugging and testing.
Page 6