3. What isWhat is
Software?Software?
software is engineeredsoftware is engineered
software doesn’t wear outsoftware doesn’t wear out
software is complexsoftware is complex
software is a ‘differentiator’software is a ‘differentiator’
software is like an ‘agingsoftware is like an ‘aging
factory’factory’
4. SoftwareSoftware
ApplicationsApplicationssystem softwaresystem software
real-time softwarereal-time software
business softwarebusiness software
engineering/scientificengineering/scientific
softwaresoftware
embedded softwareembedded software
PC softwarePC software
AI softwareAI software
WebApps (Web applications)WebApps (Web applications)
5. Software Engineering
A LayeredA Layered
TechnologyTechnology
Software Engineering
a “quality” focusa “quality” focus
process modelprocess model
methodsmethods
toolstools
10. Analysis to DesignAnalysis to Design
En tity-
R elatio nsh ip
D iagram
D ata F low
D iagram
State-Transition
D iagram
D ata D iction ary
Process S pecification (PS P EC )
C o ntro l S p ecification (CS P EC )
D ata O b ject D escription
T H E A N A LY S IS M O D E L
pro ced ural
d esign
interface
design
arch itectu ral
design
data
design
T H E D E S IG N M O D E L
11. Where Do WeWhere Do We
Begin?Begin?
Spec
PrototypePrototype
DesignDesign
modeling
14. Interface DesignInterface Design
lack of consistencylack of consistency
too much memorizationtoo much memorization
no guidance / helpno guidance / help
no context sensitivityno context sensitivity
poor responsepoor response
Arcane/unfriendlyArcane/unfriendly
Typical Design ErrorsTypical Design Errors
15. Golden RulesGolden Rules
Place the user in controlPlace the user in control
Reduce the user’s memory loadReduce the user’s memory load
Make the interface consistentMake the interface consistent
16. What Testing ShowsWhat Testing Shows
errorserrors
requirements conformancerequirements conformance
performanceperformance
an indicationan indication
of qualityof quality
17. Who Tests the Software?Who Tests the Software?
developerdeveloper independent testerindependent tester
Understands the systemUnderstands the system
but, will test "gently"but, will test "gently"
and, is driven by "delivery"and, is driven by "delivery"
Must learn about the system,Must learn about the system,
but, will attempt to break itbut, will attempt to break it
and, is driven by qualityand, is driven by quality
20. Design for WebEDesign for WebE
Architectural designArchitectural design — laying out the page— laying out the page
structure of the WebAppstructure of the WebApp
Navigation designNavigation design — defining the manner in— defining the manner in
which pages will be navigatedwhich pages will be navigated
Interface designInterface design — establishing consistent— establishing consistent
and effective user interaction mechanismsand effective user interaction mechanisms
21. FOSSFOSS
Open source doesn't just meanOpen source doesn't just mean
access to the source code.access to the source code.
The distribution terms of open-The distribution terms of open-
source software must complysource software must comply
with CERTAIN criteria:with CERTAIN criteria:
22. FOSSFOSS
1. Free Redistribution1. Free Redistribution
The license shall not restrict any partyThe license shall not restrict any party
from selling or giving away the softwarefrom selling or giving away the software
as a component of an aggregateas a component of an aggregate
software distribution containingsoftware distribution containing
programs from several different sources.programs from several different sources.
The license shall not require a royalty orThe license shall not require a royalty or
other fee for such sale.other fee for such sale.
23. FOSSFOSS
2. Source Code2. Source Code
The program must include source code, and mustThe program must include source code, and must
allow distribution in source code as well asallow distribution in source code as well as
compiled form.compiled form.
Where some form of a product is not distributedWhere some form of a product is not distributed
with source code, there must be a well-publicizedwith source code, there must be a well-publicized
means of obtaining the source code for no moremeans of obtaining the source code for no more
than a reasonable reproduction cost preferably,than a reasonable reproduction cost preferably,
downloading via the Internet without charge. Thedownloading via the Internet without charge. The
source code must be the preferred form in whichsource code must be the preferred form in which
a programmer would modify the program.a programmer would modify the program.
24. FOSSFOSS
3. Derived Works3. Derived Works
The license must allow modifications andThe license must allow modifications and
derived workderived work
must allow them to be distributed under themust allow them to be distributed under the
same terms as the license of the originalsame terms as the license of the original
software.software.
25. FOSSFOSS
4. Integrity of The Author's Source Code4. Integrity of The Author's Source Code
The license must explicitly permitThe license must explicitly permit
distribution of software built from modifieddistribution of software built from modified
source code.source code.
The license may require derived works toThe license may require derived works to
carry a different name or version numbercarry a different name or version number
from the original software.from the original software.
26. FOSSFOSS
5. No Discrimination Against Persons or5. No Discrimination Against Persons or
GroupsGroups
The license must not discriminate againstThe license must not discriminate against
any person or group of persons.any person or group of persons.
27. FOSSFOSS
6. No Discrimination Against Fields of6. No Discrimination Against Fields of
EndeavorEndeavor
The license must not restrict anyone fromThe license must not restrict anyone from
making use of the program in a specificmaking use of the program in a specific
field of endeavor.field of endeavor.
For example, it may not restrict the programFor example, it may not restrict the program
from being used in a business, or fromfrom being used in a business, or from
being used for genetic research.being used for genetic research.
28. FOSSFOSS
7. Distribution of License7. Distribution of License
The rights attached to the program mustThe rights attached to the program must
apply to all to whom the program isapply to all to whom the program is
redistributed without the need for executionredistributed without the need for execution
of an additional license by those parties.of an additional license by those parties.
29. FOSSFOSS
8. License Must Not Be Specific to a Product8. License Must Not Be Specific to a Product
The rights attached to the program must notThe rights attached to the program must not
depend on the program's being part of adepend on the program's being part of a
particular software distribution.particular software distribution.
If the program is extracted from thatIf the program is extracted from that
distribution and used or distributed withindistribution and used or distributed within
the terms of the program's license, allthe terms of the program's license, all
parties to whom the program is redistributedparties to whom the program is redistributed
should have the same rights as those thatshould have the same rights as those that
are granted in conjunction with the originalare granted in conjunction with the original
software distribution.software distribution.
30. FOSSFOSS
9. License Must Not Restrict Other Software9. License Must Not Restrict Other Software
The license must not place restrictions onThe license must not place restrictions on
other software that is distributed along withother software that is distributed along with
the licensed software.the licensed software.
For example, the license must not insist thatFor example, the license must not insist that
all other programs distributed on the sameall other programs distributed on the same
medium must be open-source software.medium must be open-source software.
31. FOSSFOSS
10. License Must Be Technology-Neutral10. License Must Be Technology-Neutral
No provision of the license may beNo provision of the license may be
predicated on any individual technology orpredicated on any individual technology or
style of interface.style of interface.
Now we will seeNow we will see http://tripod.comhttp://tripod.com
As a FOSS for web-site designingAs a FOSS for web-site designing