- Unit I: Introduction to Software
1.1 Nature of Software: Definition, character and
application domain,
1.2 Unique Nature of Web Apps
1.3 Software Engineering and Importance
1.4 Layered Technology of software Engineering
1.5 Software Myths
Introductio of software:
Any defination of software:
Any defination of software:
1. Software is a computer program and associated documentation.
2.Softwate is the group of instructions or programs that can control the over all operation of the computer system.
2. A program is an organized list of instructions that, when executed, causes the computer to behave in a predetermined manner. So without program the computers are useless deveic .
3.Software products may be developed for a particulur customer or may be developed for a general market.
4.A set of instructions given to the computer to solve problems .
Character of the software:
1. Functionality
2. Relability
3.Usability
4.Maintainability
5.Efficency
6.Portability
1. Functionality:
It refers to the degree of performance of the software against its intended purpose.
2. Reliability:
A set of attribute that bear on capability of software to maintain its level of performance under the given condition for a stated period of time.
3.Efficiency:
It refers to the ability of the software to use system resources in the most effective and efficient manner.the software should make effective use of storage space and executive command as per desired timing requirement.
Required functions are:

A set of attribute that bear on capability of software to maintain its level of performance under the given condition for a stated period of time.
Required functions are:

It refers to the ability of the software to use system resources in the most effective and efficient manner.the software should make effective use of storage space and executive command as per desired timing requirement.
Required functions are:

4. Usability:It refers to the extent to which the software can be used with ease.the amount of effort or time required to learn how to use the software.
- Required functions are:
5. Maintainability:
- It refers to the ease with which the modifications can be made in a software system to extend its functionality, improve its performance, or correct errors.Required functions are:
6. Portability:
- A set of attribute that bear on the ability of software to be transferred from one environment to another, without or minimum changes.Required functions are:
Application domain of the computer software:
An application domain is the segment of reality for which a software system is developed. It is the background or starting point for the actual-state analysis and the creation of a domain model.
An application domain can be an organization, a department within an organization, or a single workplace.
The concept of an application domain is at least as wide, so that the domain concepts and relations relevant for the construction of models can be well understood during the analysis of the actual state of the domain. On the other hand, its extent should always be limited, that is, never be too complex.
An application domain normally includes a domain-specific language. This means that people in this domain use specific terms and concepts and think about their domain in a specific way.
The Unique Nature of Web Apps
Introduction:
In the early days of the World Wide Web (1990 to 1995), websites consisted of little more than a set of linked hypertext files that presented information using text and limited graphics.
Today, WebApps have evolved into sophisticated computing tools that not only provide stand-alone function to the end user, but also have been integrated with corporate databases and business applications due to the development of HTML, JAVA, xml etc.
Attributes of WebApps :
Network Intensiveness
Concurrency
Unpredictable load
Performance
Availability
Data driven
Content Sensitive
Continuous evolution
Immediacy
Security
Aesthetic
Network intensiveness.
A WebApp resides on a network and must serve the needs of a diverse community of clients.
The network may enable worldwide access and communication (i.e., the Internet) or more limited access and communication
(e.g., a corporate Intranet Network Intensiveness)
Concurrency : [ Operation at the same time]
A large number of users may access the WebApp at one time. In many cases, the patterns of usage among end users will vary greatly.
Unpredictable load :
The number of users of the WebApp may vary by orders of magnitude from day to day. One hundred users may show up on Monday; 10,000 may use the system on Thursday.
Performance :
If a WebApp user must wait too long (for access, for server side processing, for client-side formatting and display), he or she may decide to go elsewhere.
Availability :
Although expectation of 100 percent availability is unreasonable, users of popular WebApps often demand access on a 24/7/365 basis.
Data driven :
The primary function of many WebApps is to use hypermedia to present text, graphics, audio, and video content to the end user.
In addition, WebApps are commonly used to access information that exists on databases that are not an integral part of the Web-based environment (e.g., e-commerce or financial applications).
Content sensitive:
The quality and artistic nature of content remains an important
Determinant of the quality of a WebApp.
Continuous evolution:
Unlike conventional application software that evolves over a series of planned, chronologically spaced releases, Web applications evolve continuously.
It is not unusual for some WebApps (specifically, their content) to be updated on a minute-by-minute schedule or for content to be independently computed for each request.
Immediacy:
Although immediacy—the compelling (forceful) need to get software to market quickly—is a characteristic of many application domains,
WebApps often exhibit a time-to-market that can be a matter of a few days or weeks.
Security:
Because WebApps are available via network access, it is difficult, if not impossible, to limit the population of end users who may access the application. In order to protect sensitive content and provide secure mode of data transmission, strong security measures must be implemented.
Aesthetics : [Artistic / Visual]
An undeniable part of the appeal of a WebApp is its look and feel. When an application has been designed to market or sell products or ideas, aesthetic may have as much to do with success as technical design.