TLE 10 - 1st Quiz Reviewer

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Software - everywhere

- we are dependent for many tasks


- to publish our pages and blogs on the Web, keep in touch with friends, search for facts, play
computer and online games, and download all kinds of files.
- HOSPITALS use this to record patient information, perform various kinds of bodily tests, monitor
patient conditions, and compute bills
- SCHOOLS: to supplement classroom instruction with computer-based drills and simulations,
manage lessons and other learning objects compute and store student grades, and handle
enrollment
- GOVERNMENT OFFICES AND AGENCIES: to manage versions of bills before they become laws,
record court rulings, and bring government services to the public through the Internet
- BUSINESS FIRMS: to manage enterprise resources (including financial, material, human, and
intellectual resources), conduct training, and provide better service to costumer
Productivity software - MS, PPT, Ex to write reports, make presentations, and keep track of our income and expenses
Software Engineering - systematic process of software development
Modern software - quite complex
- involves
1. Careful and systematic analysis
2. Design
3. Programming
4. Testing
5. Debugging
6. Deployment
Software Engineer - person who performs any or all of the activities of software engineering
- a person who only performs a specific activity of software engineering is usually called by the
activity that he or she performs
Analyst - one who performs analysis
Designer - one who only performs designs
Programmer - one who only performs CODING
Tester - one who only performs testing
Systems analysis or ANALYSIS - “what are the users’ requirements?”
- a SE or system analyst, using several techniques such as interview, observation, and prototyping,
tries to understand how would-be users of a system perform their task, and how would they like the
system to help them in these tasks
Software design or DESIGN - “how can the system meet the users’ requirements?”
- GRAPHICAL USER INTERFACE (GUI) DESIGN: a SE or GUI designer will identify the screens that the
system will show to the use, and the objects (buttons: inputting code, textboxes: data - text/no.)
- ARCHITECTURAL DESIGN: SE or ARCHITECT will identify the components (modules, classes) of the
software and the interrelationships among these
- DETAILED DESIGN: a SE or designer will specify the data structures and algorithms to be uses by
each component identified in the architectural design
- DATABASE DESIGN: SE or data base designer will specify the tables that will make up the database
to be used by the software and the relationships among these tables
CODING or PROGRAMMING - “How do I implement the design?”
- SE or programmer uses a programming language such as Visual basic 2005 to implement the GUI,
components algorithms, and data structures specified in the design phase
Software testing or TESTING - “is the system functioning as it is supposed to?”
- involves running code to see if it works according to design
- if not, DEBUGGING is performed by identifying statements in the code that errors (BUGS) and
removing these errors. There are several stages of testing
1. 1st stage of testing - UNIT TESTING
- done by the programmer
- Programmer runs the component that he/she wrote to check whether it works according to design
2. 2nd stage of testing - INTERGRATION TESTING
- lead programmer runs the group of interrelated components to check whether they work
together according to design
3. 3rd stage of testing - SYSTEM TESTING
- software tester runs all the components together to see whether the software, as a whole, meets
the requirements of the users
4. Final stage - USER ACCEPTANCE TESTING
- user themselves, or their representatives, run the software to check whether it indeed meets their
requirements
DEPLOYMENT - “are the users happy with the system?”
- SE installs the software on computers in the users’ organization and trains the users in using the
software
WATERFALL model of - because of the linear, top-to-bottom execution of the aforementioned activities or phases
software development - there are return arrows from one phase to a previous phase
- possible to the previous phase when error is discovered
Software life cycle - does not end upon deployment of the software
Software maintenance - new cycle of software activities
- involves either removing errors that were not detected during the testing phase, or adding new
features
Adding new features - will entail a new round of analysis, chena
TRADITIONAL SOFTWARE - views software systems as composed group of procedures that call other procedures and that may
ENGINEERING share common data
- procedures are grouped into modules
procedure - group of statements that perform a certain task that can be call by other procedures
modules - group of procedures together with any data elements or structures that they share
OBJECT - collection of procedures (called methods in object-oriented terminology) together with any data
elements or structures (called attributes or instance variables) that they share
- possible to hide the attributes or methods of an object so that the hidden attributes cant be
accessed directly by other objects
- possible to have multiple objects of the same class existing at the same time
First tier - USER INTERFACE OBJECTS
- objects that users interact with
Second tier - DOMAIN ENTITY OBJECTS
- objects that model inside the software the real world entities in the domain (students)
Third tier - DATA ACCESS OBJECTS
- connect to databases, and store data to, and retrieve data from, these databases
Three-tier design - modern way of designing software
- allows a SE to change the look of the graphical user interface of a system without having to worry
about the logic of the domain entity objects
- allows SE or database designer to change the way the data is represented without changing the
operations in the domain entity objects
Designing and implementing software in an object-oriented manner has at least 2 advantages over traditional software engineering
1. DOMAIN ENTITY OBECTS - of the software correspond to real-world objects in the domain of the software application.
- makes the design of DEO quick and intuitive
- enables non software engineers to understand the design of the software easily
2. OBJECTS ARE USABLE - student chena tas library chena
Waterfall model of software - can be used when developing object-oriented software engineering
Iterative methodology - widely used methodology for object-oriented software engineering
- we repeat the process in figure 1 several times
iteration - is the REPITITION of process
1st iteration - we do not complete any of the phases; only perform PRELIMINARY object-oriented analysis (OOA),
object-oriented design (OOD), object-oriented programming (OOP), and TESTING
- in the SUBSEQUENT ITERATIONS, we do further OOA, OOD, OOP and testing
End of every iteration - have a PROTOTYPE VERSION of the software that has more features than the prototype of the
previous iteration
prototypes - shown to users for their COMMENTS
- this approach allows users to see and give their feedback on the software several times in its
development, thereby ensuring that the features of the end software product are acceptable to the
user

You might also like