Several steps should be followed when creating a design document: researching end users’ needs, communication, logical design of screens, reports and data structures; and all other ste
Trang 1Connecting with Computer Science Chapter 13 Review:
Chapter Summary:
Software engineering involves many different steps to create an application that meets end user’s needs
The process of building an application is accomplished by following a software development life cycle (SDLC) model
Each SDLC model provides a different way of outlining the steps for creating a software product
A design document is created as a blueprint for software development and outlines an application’s functionality
Several steps should be followed when creating a design document: researching end users’ needs, communication, logical design of screens, reports and data structures; and all other steps that must take place before any source code is written
Unified Modeling Language (UML) is a tool that enables developers and end users to illustrate an application’ functionality
There are several types of UML diagrams, each serving a particular purpose or describing a part of the project being developed
Using reports and a data dictionary can help a developer find any oversights in the project’s design
Software development is often a team effort; building a team involves knowing the specific roles of each member
Team members often include a project manager, database administrator, developers / programmers, clients/end users, testers and customer relations representatives
After the application has been developed, installation media must be generated
After the application is installed on the client’s system, spend some time training end users who can in turn train other end users
Trang 2Key Terms:
Support Technician (456) Person responsible for interacting with testers, developers and end users during the
product’s creation and early release and on an ongoing basis with end users as long as the product is being used
Data Dictionary (443) A document describing the type of data being used in the program, showing table
definitions, indexes and other data relationships
DBA (454) Person assigned the role of creating and maintaining the database structure
Design Document (436) A document that details all the design issues for an application
End User (434) Someone or something that needs the program to perform a function or meet a need and
determines the program’s required functionality
Flowchart (446) A combination of symbols and text that provides a visual description of a process
Gold Plating (453) Adding unnecessary features to the project design
Project Manager (453) Leader of the software development team; responsible for choosing the right players for
the right positions and making sure the project is on schedule
Prototype(435) A standard or typical example that gives end users a good idea of what they will see when
their application is completed
Scope Creep Occurs when new changes are added to a project constantly, thus changing the proposed
deadline so that the project is never completed; instead it is in a constant improvement mode
Software Developer (455) Person responsible for writing source code to meet the end user’s functional
requirements
SDLC (434) A model that describes the life of the application, including all stages involved in:
developing, testing, installing, and maintaining a program
Software Engineering (434) The process of producing software apps, involving not just the program’s source code but
also associated documentation, including UML diagrams, screen prototypes, reports, software requirements, future development issues and data needed to make programs operate correctly
Tester(455) Person responsible for making sure the program functions correctly and meets all the
functional requirements specified ion the design document
UML(438) A software modeling process for creating a blueprint that shows the programs overall
functionality and provides a way for the client and developer to communicate
Waterfall Model (435) An SDLC approach involving sequential application development with processes organized
into phases; after a phase is completed, a new one starts, and you cannot return to the previous phase
Test Yourself:
1.) Describe what the process of software engineering includes
Software engineering is the process of producing software applications It involves not just the
program’s source code but also associated documentation, including: UNL, diagrams, screen
prototypes, reports, software requirements, future development issues, and data needed to make programs operate correctly It is the heart of computer science and incorporates everything a software developer might encounter, including hardware components networking, databases, Web
development, software applications and so forth
Trang 32.) What is a design document and how does it affect software engineering?
A design document details all the application’s design issues and includes its functionality, appearance and distribution Without a well-defined design document, a project is doomed to failure Creating a design document is based on good communication with end users in determining the application’s and requirements
3.) Write the pseudo code steps for a program that processes a savings deposit in an ATM
Prompt for card
When card is entered, read card
Ask for PIN
Confirm that PIN matches card
If there is a match, continue with transaction Otherwise display error message
Ask for dollar amount to add to savings
Add dollar amount to savings and update account
Ask if they would like to make another transaction If so, continue by going back to Step 6
Otherwise, display a thank you message and quit
Eject card
4.) Write the pseudo code steps for a program that processes a savings withdrawal from an ATM
Prompt for card
When card is entered, read card
Ask for PIN
Confirm that PIN matches card
If there is a match, continue with transaction Otherwise display an error message
As for dollar amount to remove from account
Subtract dollar amount from account and update the account
Ask if they would like to make another transaction If so, continue by going back to Step 6
Otherwise, display a thank you message and quit
Eject card
5.) How can UML help a developer create a program that meets an end user’s needs?
UML is a software modeling process that enables developers to create a blueprint showing the overall functionality of the program being engineered and provides a way for clients
and developers to communicate Better communication results in a better project
6.) How is a data dictionary used in software development?
A data dictionary is a document defining the structure of the database, and describing the
type of data used in the program, and showing table definitions, indexes, and other data
relationships Developers use it to clarify the data available for use in reports, screens, file
transfers and other data operations Developers and end users can also use it during the
report creation process The document acts as a master guide for making sure all data is
consistent
Trang 47.) What is a prototype and how is it used in software engineering?
A prototype is a typical example that gives end users a good idea of what they’ll see when
their application is completed It is not the final product, ready to go A software engineer
can design all the screens and reports before any lines of code are written and should get
end users’ input on factors such as: color, position of fields and so forth The result should
be a product agreed by both the user and the developer, thus promoting good
communication throughout the process
8.) What are some mistakes you can make in designing and developing a software program?
Not including the end user in the design process
Writing your application without getting user approval for the prototype
Not testing the application
Using poor coding procedures
Not creating a design document
Thinking that end users do not know what they want, so you tell them what they are going
to get
9.) Describe the steps in the waterfall SDLC model
The waterfall SDLC model represents the fundamental processes in creating a program as
phases The output from each phase is used as the input for the next phase The first step is gathering all the requirements for the project The second step is designing the system and
software After all the requirements have been defined and the project has been designed,
it is time to build and implement the application After the application is finished, it must
be tested and then finally put into operation and maintained to meet users’ needs If you
encounter a problem in the design, you must return to the first step and continue repeating
the process until the final product has met all the users’ functional requirements
10.) List each software development team role and describes the job function
right positions, determining the projects’ risks, cost and schedule of tasks, and keeping the
project on schedule
database
functional requirements
engineering Clients are the ones who know what they really want and why
the functional requirements specified in the design document
Consumer relations representative: Person responsible for interacting with testers, developers and
end users during the product’s creation and early release and on an ongoing basis with the end
users as long as the product is being used
Trang 511.) Draw a flowchart for using a microwave to heat a TV dinner for 2 minutes
12.) Write the pseudo code for using a microwave a TV dinner for 2 minutes
Open microwave door
Place food inside microwave
Press the cook level button
Select high
Press the cook time button
Enter 2 minutes
Press the start button
When the timer goes off, open door
Remove food
Close door
Start
Open Door
Place food
inside
microwave
Close door
Press cook
level button
Select high
level
Press cook time button
Enter 2 min
Press start button
If remaining Cook < 2 min
Yes
No
Open Door
Remove food
Sound Timer &
reset display
Close Door
Stop
Trang 613.) Draw a flow chart for making a purchase on the internet
Start
Go to Web
URL
Enter login
name
Click search
button
Click Login
button
Enter
password
Enter Search
If item is found
No
Yes
Display error message
Add to cart
Click check-out
Process all charges
Confirm order
Stop
Trang 714.) Write the pseudo code for making a purchase on the internet
Go to the web site URL
Enter login name
Enter password
Click the login button
Type item description in search area
Click the Search button
If found, enter quantity and click “Add item to shopping cart.”
If not found, display error message and return to screen
Click the Checkout button
Confirm information and click the Confirm Order button
Click the Logout button
15.) Draw a flow chart and write the pseudo code for an application that allows a professor to keep track
of the following information for each student: 10 homework assignments, 4 quiz scores and 2 test scores The application should calculate the average grade for each type of information (homework, quizzes, and tests) and then calculate a final grade by averaging all three average scores
Start
Enter SS ID
Enter SS ID
Calculate hw
Avg score
Input 4
quiz scores
Calc quiz avg
score
Input 2 test scores
Calc test avg score
Calc final Average
Stop
Trang 8 Enter Student ID
Input 10 homework scores
Calculate the homework average score
Input 4 quiz scores
Calculate the quiz average score
Input 2 test scores
Calculate the test average score
Calculate the final average (HomeworkAvg + QuizAvg + TestAvg) / 3